我最近将conda发行版从Python 3.6(使用conda install python=3.7
命令升级到了Python 3.7)。
我没有意识到此升级会破坏我使用virtualenv创建的所有现有虚拟环境。我天真地认为,即使升级了发行版,虚拟环境也包含了运行所需的所有python库。
如果我运行'source venv / bin / activate',我可以运行虚拟环境,但是如果我尝试启动python,则会出现错误:
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
Current thread 0x00007fff92b5f380 (most recent call first):
Abort trap: 6
我认为问题是virtualenv库链接到bin / python3.6,但是该文件夹已不存在。我怎么解决这个问题?我真的不想重新创建虚拟环境,因为其中一些环境花费了很长时间才能构建和使用需要从源代码中永久构建的库。
我试图恢复到conda 3.6,但失败了,因为存在太多冲突。
谢谢您的帮助!
尝试使用以下命令将环境克隆到新环境:conda create --clone cur_env_name --name new_env_name