以前,我在我的系统上安装了虚拟环境。我为我正在做的两个不同的项目创建了两个不同的VirtualEnv。
我经常激活这些虚拟环境中的一个,然后开始进行项目工作。
最近我的系统被破坏了,我在复制了所有的项目和虚拟环境后升级了操作系统。我将项目文件和虚拟环境复制回我的系统并安装了虚拟环境。
在.bashrc中设置PYTHONHOME=‘/usr/lib/python3 3’
现在,当我激活一个复制的环境并尝试运行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 get the locale encoding
ImportError: No module named 'encodings'
Aborted (core dumped)在这个虚拟env中运行pip会抛出相同的错误。
请建议我需要什么,这样我的项目才能像以前一样工作。
发布于 2017-01-12 12:34:11
不建议将virual环境移动到新系统或不同的操作系统安装- A SO answer。
良好做法是生成需求列表(已安装的Python包)--当虚拟环境处于活动状态时,执行:
$(venv) pip freeze > requirements_venv.txt在新安装上(如果有复制的venv,请删除它),使用Python 3安装一个新的虚拟环境,激活它,然后安装python包:
$ virtualenv -p /usr/bin/python3 venv/
$ source env/bin/activate
$ pip install -r requirements_venv.txt可能发行的
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
Aborted (core dumped)声明,系统的Python3正在尝试加载一些为其他Python版本编写的内容,即Python2.x。
你所犯错误的最可能原因可能是,
PYTHONPATH,PYTHONPATH后不重新启动终端Solution/way-out
首先,检查是否能够进入Python,即在终端中执行python或python3命令。如果没有,请在PYTHONPATH中取消.bashrc设置,并在终端中执行以下命令(或系统上的确切路径):
# export PYTHONHOME=/usr/local/lib/python3.5/
# export PYTHONPATH=/usr/local/lib/python3.5现在再次尝试启动Python,即在终端中执行python或python3命令,您必须得到类似的内容:
Python 3.5.2 (default, Jul 17 2016, 00:00:00)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>随着Python的工作,您很可能不会面对发布的问题--如果您这样做了,删除复制的虚拟环境并安装和新的环境(如上面所述)。
发布于 2017-01-12 08:40:44
python是否正确安装?
在cmd中运行python并检查路径
如果某些依赖项被破坏,请尝试正确地重新安装它。
sudo apt-get install --reinstall python2.7
sudo apt-get update现在尝试使用虚拟环境
pip install virtualenv <name>
or
pip install virtualenv .按源激活它。/bin/激活
发布于 2017-01-12 08:42:47
虚拟环境使用一些指向源python安装的符号链接来共享资源和二进制文件。我认为你是否能够将一个虚拟环境移动到一个新的/不同的系统中,并让它开箱即用,这是很值得怀疑的。
https://stackoverflow.com/questions/41608432
复制相似问题