当使用 ssh 密钥登录我的 VPS 时,我得到以下信息:
Command '' not found, but can be installed with:
sudo apt install libpam-mount
...
sudo apt install nmh
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON= and that PATH is
set properly.
这是我的.bashrc
变量:
export WORKON_HOME=~/Env
source /usr/local/bin/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
我尝试过的
- 采购
.bashrc
,~/.profile
并且/usr/local/bin/virtualenvwrapper.sh
(无错误) - 升级
virtualenvwrapper
(pip3 --upgrade
最新)
另外,我的 virtualenv 工作得很好。
答案1
在第 47-51 行在virtualenvwrapper.sh
脚本中,它首先检查是否VIRTUALENVWRAPPER_PYTHON
设置了环境变量,如果没有,则将其设置为50号线:
VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
问题是较新版本的 Ubuntu (18.04+) 不再安装二进制文件python
,仅安装python3
.更改python
为python3
在50号线脚本的内容就完成了;)
否则,在 中.bashrc
,您需要第一的设置VIRTUALENVWRAPPER_PYTHON
然后是source
脚本:
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
答案2
简而言之,virtualenvwrapper.sh
是 Python 包的一部分。
我在新安装的 Ubuntu 18.04 上遇到了这个问题。我检查了一台旧机器上的日志,发现以下内容:
sudo -H pip3 install virtualenvwrapper
sudo -H pip install virtualenvwrapper
当我在新机器上运行它们时,错误消息消失了。
答案3
我最终通过重新安排导出来解决这个问题:
export WORKON_HOME=~/Env
source /usr/local/bin/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3