Неустранимая ошибка Python: невозможно запустить более старую версию python в виртуальной среде conda - PullRequest
1 голос
/ 15 мая 2019

Anaconda, установленная на моем компьютере, поставляется с Python 3.7.3. Поскольку для некоторых пакетов, которые мне нужно использовать, требуется Python 3.5, я создал отдельную среду conda, указав Python 3.5

conda create -n env1 python=3.5

После создания среды я активировал ее и попытался запустить Python

activate env1
python

Но я получил следующую ошибку:

Fatal Python error: Py_Initialize: can't initialize sys standard streams
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\Lib\io.py", line 52, in <module>
  File "C:\ProgramData\Anaconda3\Lib\abc.py", line 147
    print(f"Class: {cls.__module__}.{cls.__qualname__}", file=file)
                                                      ^
SyntaxError: invalid syntax

Интересно, в чем проблема и как я могу ее решить.

РЕДАКТИРОВАТЬ : На случай, если эта проблема связана с переменными окружения, ниже приведен скриншот настройки PYTHONPATH ниже

enter image description here

1 Ответ

1 голос
/ 15 мая 2019

Вам необходимо очистить переменную PYTHONPATH - она ​​должна быть пустой.Я могу подтвердить, что получу точно такую ​​же ошибку, если я выполню следующий тест:

conda create -n env1 python=3.5
conda activate env1
PYTHONPATH="/Users/user/miniconda3/lib/python3.7" python

, который дает

Fatal Python error: Py_Initialize: can't initialize sys standard streams
Traceback (most recent call last):
  File "/Users/user/miniconda3/lib/python3.7/io.py", line 52, in <module>
  File "/Users/user/miniconda3/lib/python3.7/abc.py", line 147
    print(f"Class: {cls.__module__}.{cls.__qualname__}", file=file)
                                                      ^
SyntaxError: invalid syntax
Abort trap: 6

Простой тест в вашем направлении будет:

conda activate env1
PYTHONPATH="" python

или любой другой эквивалент Windows.

...