虚拟环境中的点安装损坏



我从虚拟环境的pip安装中得到此错误:

➜  myproject git:(master) ✗ pyenv/bin/pip --help
Failed checking if argv[0] is an import path entry
ValueError: character U+6e657970 is not in range [U+0000; U+10ffff]
Fatal Python error: no mem for sys.argv
ValueError: character U+6e657970 is not in range [U+0000; U+10ffff]
Current thread 0x00007fff767c5000 (most recent call first):
[1]    10941 abort      pyenv/bin/pip --help

虚拟环境的python工作,系统的python和pip工作(都是python3)。

事实证明,virtualenv 将 python 可执行文件硬链接到系统 python,因此当我升级 python 时,它与虚拟环境的 pip 安装不一致。

在这里发布供其他人查找,以防他们发生这种情况。

解决方案是擦除pyenv文件夹,然后重新安装一个新的 virtualenv(如果您一直在使用requirements.txt文件,这就是虚拟环境的设计目的!

根据 pip 文档,您可以通过在激活虚拟环境时键入以下命令在虚拟环境中安装 pip:

python -m ensurepip --upgrade

供您参考,ensurepip 是一个内置的 Python 模块,用于在您的 Python 环境中安装 pip。

如果您不想启动全新的虚拟环境并希望保留依赖项,则可以使用此解决方案

首先,尝试更新点

pip install --upgrade pip

如果这不能解决它,我会尝试卸载 pip,然后重新安装。

要删除 try:

sudo pip uninstall pip

然后重新安装。

pip install -U pip setuptools

另外,我假设您使用的是Linux或Mac。

最新更新