python - Virtualenvwrapper 在我的路径中的主目录下找不到我的 envs 文件夹(即使它在那里)

在许多 SO 和其他在线帖子中,人们遇到 virtualenvwrapper 找不到“virtualenv”的问题,但在我的情况下,它找不到我的本地 envs 文件夹 (/home/myuser/Envs)。我不认为我的问题是同一件事,但我可能是错的。

我的 .bashrc 中有以下内容:

export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/Envs
export WORKON_HOME=$HOME/Envs
export PROJECT_HOME=$HOME/software
export PATH=$PATH:$HOME/Envs
source $HOME/.local/bin/virtualenvwrapper.sh

我编辑了 virtualenvwrapper.sh 以在错误消息之前回显 PATH,这是输出:

~$ mkvirtualenv test
PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/myuser/Envs:/home/myuser/.local/bin
ERROR: virtualenvwrapper could not find /home/myuser/Envs in your path
~$

所以 /home/myuser/Envs 显示在路径中。我可以运行 workon 和 lsvirtualenv 之类的命令而不会收到错误消息,尽管它们还没有返回任何内容,因为此时我没有任何虚拟环境。

如果有区别,我正在运行 Ubuntu 22.04 和 Python 3.10。

任何建议都将受到欢迎。

回答1

没关系,我发现了我的问题。 VIRTUALENVWRAPPER_VIRTUALENV 需要指向 virtualenv 脚本,而不是我的 Envs 文件夹。这个修改后的 .bashrc 脚本有效:

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/bin/virtualenv
export WORKON_HOME=$HOME/Envs
export PROJECT_HOME=$HOME/software
export PATH=$PATH:$WORKON_HOME:$VIRTUALENVWRAPPER_VIRTUALENV
source $HOME/.local/bin/virtualenvwrapper.sh

相似文章