我从虚拟环境的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。