gpt4 book ai didi

python - 重新安装 virtualenv 后虚拟环境未激活

转载 作者:太空宇宙 更新时间:2023-11-03 15:47:48 24 4
gpt4 key购买 nike

以前我的系统上安装了虚拟环境。我为我正在从事的两个不同项目创建了两个不同的 VirtualEnv。
我用来激活这些虚拟环境之一,然后开始处理项目。
最近我的系统损坏了,我在复制所有项目和虚拟环境后升级了操作系统。我将项目文件和虚拟环境复制回我的系统并安装虚拟环境。

在 .bashrc 中设置 PYTHONHOME='/usr/lib/python3'

现在,当我激活复制的环境之一并尝试运行 python manage.py runserver 时,出现以下错误

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)

在此虚拟环境中运行 pip 会引发相同的错误。

请建议我需要什么,以便我的项目可以像以前一样工作。

最佳答案

不建议移动虚拟环境,即移动到新系统或不同的操作系统安装 - 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)

说明,系统的 Python 3 正在尝试加载为其他 Python 版本(即 Python 2.x)编写的内容

您遇到错误的最可能原因是,

  • 使用不同的 python 版本创建了虚拟环境。
  • 不正确的PYTHONPATH
  • 设置PYTHONPATH后不重新启动终端
<小时/>

解决方案/出路:

首先检查您是否能够进入 Python shell,即在终端中执行 pythonpython3 命令。如果没有,请取消设置 .bashrc 中的 PYTHONPATH,并在终端(或系统上的任何确切路径)中执行以下命令:

# export PYTHONHOME=/usr/local/lib/python3.5/
# export PYTHONPATH=/usr/local/lib/python3.5

现在再次尝试启动 Python shell,即在终端中执行 pythonpython3 命令,您必须得到类似如下的内容:

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 shell 的工作,您很可能不会遇到所发布的问题 - 如果遇到,请删除复制的虚拟环境并安装新的虚拟环境(如顶部所述)。

关于python - 重新安装 virtualenv 后虚拟环境未激活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41608432/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com