【问题标题】:installation of pipenv causes pip3 unusable安装 pipenv 导致 pip3 无法使用
【发布时间】:2018-12-15 23:15:33
【问题描述】:

我安装了pipenv 使用
$ pip3 install pipenv
这给了我错误ImportError: cannot import name 'main'
为了解决这个错误我followed these instruction
sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall
现在pip3 命令正在终端上运行。
现在我使用pip3 install pipenv 安装pipenv
它安装成功,但是当我尝试在终端上执行 pipenv 时,它给了我 pipenv: command not found
此时pip3 也给出ImportError: cannot import name 'main' error
为了解决这个问题我followed these instruction

PYTHON_BIN_PATH="$(python3 -m site --user-base)/bin"
PATH="$PATH:$PYTHON_BIN_PATH"

此时,pipenv 点工作,但 pip3 不工作。
我怎样才能使 pip3pipenv 同时工作? p>

另外,我似乎搞砸了我的 pipenv 设置,现在虚拟环境默认创建在 /home/sysadmin 而不是我用来创建虚拟环境的位置/home/sysadmin/Desktop/helloworld

【问题讨论】:

    标签: django linux python-3.x pip pipenv


    【解决方案1】:

    问题是由于在安装 pipenv 时覆盖了系统管理的 pip 版本。通过按顺序恢复系统管理的 pip,您执行了正确的第一步:

    sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall

    完成后,请务必注意,由于 pip 冲突,pipenv 可能无法在全局级别安装。您可以在用户级别安装 pipenv:

    pip install --user pipenv

    这应该在 /home/username/.local 的用户级别安装 pipenv,这样它就不会与 pip 的全局版本冲突。就我而言,在运行“--user”开关后仍然无法正常工作,所以我再次运行了更长的“修复我搞砸的东西”命令来准备环境:

    sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall

    然后执行以下操作:

    mkdir /home/username/.local ...如果它不存在

    export PYTHONUSERBASE=/home/username/.local

    确保导出成功(在此过程中咬了我一次):

    echo $PYTHONUSERBASE

    然后,我运行了pip install --user pipenv,一切都很好。然后我可以从 CLI 运行 pipenv,它不会覆盖全局/系统管理的 pip 模块。当然,这是特定于用户的,因此您要确保以这种方式安装 pipenv,同时以您希望使用 pipenv 的用户身份工作。

    参考资料:

    https://pipenv.readthedocs.io/en/latest/diagnose/#no-module-named-module-name https://pipenv.readthedocs.io/en/latest/install/#pragmatic-installation-of-pipenv https://pip.pypa.io/en/stable/user_guide/#user-installs

    【讨论】:

    • 感谢您的回答,但在出现此问题后我停止使用 pipenv,目前正在使用 virtualenv 和 virtualenvwrapper 创建我的虚拟环境。希望您的回答对下一个磕磕绊绊的用户有用。
    • 既然我将 pipenv 用于生产,那么在某个用户下安装 pipenv 以后不会给我在服务器上安装的所有权限带来问题吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-09
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    • 2018-12-15
    • 1970-01-01
    相关资源
    最近更新 更多