将pyimport升级到python3

贾斯里安

我在 Ubuntu 20.04 上使用 VS Code。我读过 Ubuntu 20.04 只支持 python3。当我尝试运行 python3 代码时,它给了我一个语法错误,但我相信这是因为其中一个依赖项正在使用 python2.7。这是我在 {prg}' 后用单引号声明无效语法的错误。有没有办法升级消息中引用的 pyimport 包,还是我在这里遗漏了其他东西?

================================ test session starts ================================
platform linux2 -- Python 2.7.18rc1, pytest-4.6.9, py-1.8.1, pluggy-0.13.0
rootdir: /home/ryan/tiny_python_projects/01_hello
collected 0 items / 1 errors                                                        

====================================== ERRORS =======================================
_____________________________ ERROR collecting test.py ______________________________
/usr/lib/python2.7/dist-packages/_pytest/python.py:507: in _importtestmodule
    mod = self.fspath.pyimport(ensuresyspath=importmode)
/usr/lib/python2.7/dist-packages/py/_path/local.py:701: in pyimport
    __import__(modname)
E: File "/home/ryan/tiny_python_projects/01_hello/test.py", line 21
E: out = getoutput(f'python3 {prg}')
卡雷尔

Python 2.7 默认没有安装在 Ubuntu 20.04 中,但可以从终端安装。打开终端并输入:

sudo apt update
sudo apt install --install-suggests python2.7 python-pip python-pytest

对于 Python 3.x:

sudo apt install python3-pip python3-pytest

例子

第一个文件是应该测试的文件。

斐波那契.py:

def fib(n):
    old, new = 0, 1
    for _ in range(n):
        old, new = new, old + new
    return old

'pytest' 将使用此文件来测试 fibonacci.py:

test_fibonacci.py:

from fibonacci import fib
def test_fib():
    assert fib(0) == 0
    assert fib(1) == 1
    assert fib(10) == 55

cd将目录更改为包含 fibonacci.py 和 test_fibonacci.py 的目录。

pytest 的结果:

============================= test session starts ==============================
platform linux2 -- Python 2.7.17, pytest-3.3.2, py-1.5.2, pluggy-0.6.0
rootdir: /home/karel/Desktop, inifile:
collected 1 item                                                               

test_fibonacci.py .                                                      [100%]

=========================== 1 passed in 0.04 seconds ===========================

示例代码来源:Python 教程:使用 Pytest 进行测试

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章