致命的Python错误:无法在conda虚拟环境中启动旧版本的python

时间:2019-05-14 22:00:12

标签: python python-3.x anaconda conda

我计算机上安装的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 个答案:

答案 0 :(得分:1)

您需要清除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。