обновить pyimport до python3

Я использую VS Code в Ubuntu 20.04. Я читал, что 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}')
0
задан 7 June 2020 в 07:28

2 ответа

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

Пример

Первый файл - это файл, который необходимо проверить.

fibonacci.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 Tutorial: Тестирование с Pytest

1
ответ дан 19 June 2020 в 21:29

Полагаю, у меня была неуклюжая установка pip. Я удалил python2, pip, pip2, pip2.7 и pylint. Затем я переустановил все и убедился, что это для Python 3, теперь все работает нормально. Спасибо за вашу помощь!

0
ответ дан 19 June 2020 в 21:29

Другие вопросы по тегам:

Похожие вопросы: