【问题标题】:Pip not working inside Virtual Env but works outside perfectlyPip 在虚拟环境中不起作用,但在外部完美地工作
【发布时间】:2023-11-21 09:49:01
【问题描述】:

大家好,我将关注https://github.com/systers/portal 此处的安装,并尝试在我的机器上的虚拟环境中部署服务器。 在经历了很多错误之后,我决定安装一个全新的 Ubuntu 16.04 并开始 安装后这里是我使用给定命令安装的东西

我分别使用 python --version 和 python3--version 检查了我当前的 python 和 python3 版本,它们分别是 Python 2.7.12 和 Python 3.5.2。

Easy Install. $ sudo apt-get install python-setuptools python-dev build-essential  
pip. $ sudo easy_install pip
virtualenv. $ sudo pip install --upgrade virtualenv.
python3-dev tools.$sudo apt-get install python3-dev

之后我创建了一个虚拟环境并使用以下命令激活它

$ virtualenv venv1 --python=/usr/bin/python3
$ source venv/bin/activate

但是现在当我运行第三个命令时

$ pip install -r requirements/dev.txt

甚至做

$pip --version

我得到了错误

bash: /media/rohan/New Volume/portal/venv1/bin/pip: "/media/rohan/New: bad interpreter: No such file or directory

在 /venv1/bin 中也存在 pip,pip3 ,pip3.5 文件

我尝试 sudo easy_install pip 认为它会在虚拟环境中安装 pip 但它会安装到 /usr/local/bin

我也尝试使用代码创建一个虚拟环境

$virtualenv venv --python=/usr/bin/python

但这也不起作用,这次也出现了同样的错误,并且在 /venv/bin pip pip2 pip2.7 中存在

请帮忙

【问题讨论】:

  • 请完成发帖,包括错误
  • 很抱歉,我不小心发了,现在已经完成了,请检查

标签: python pip open-source virtualenv portal


【解决方案1】:

问题似乎是你的 virtualenv 路径中有一个空间,它没有被转义到它应该在的地方。

注意您收到的错误:

/media/rohan/New: bad interpreter: No such file or directory

因此,在路径中有空格的情况下,它试图在不存在的文件 (Volume/portal/venv1/bin/pip) 上运行不存在的程序 (/media/rohan/New)。

New Volume 重命名为不带空格的名称,例如 new_volume,然后重新创建 virtualenv 应该可以解决此问题。

【讨论】:

  • 不错的收获。我真的认为这应该在 virtualenv 中修复。几十年来,Unix 开发人员/管理员一直在处理文件名/路径中的空格问题,但有一个 dispute about how to handle it in virtualenv
  • 好的,以后应该会解决这个问题。这真的让我很恼火,哈哈
【解决方案2】:

我已经重命名了虚拟环境的文件夹,所以我收到了这个错误。 然后我将 venv 文件夹名称重命名为错误中提到的路径(这是我在创建 venv 时命名的路径。)然后尝试使用 pip 并且它起作用了。

可能您已经解决了您的问题,但这是为未来的访问者准备的。

【讨论】:

    最近更新 更多