virtualenv和virtualenvwrapper“有一个问题突然出现在初始化钩子上”

时间:2017-10-25 15:20:07

标签: python django bash ubuntu

所以我的开发环境很长时间没有改变。我在Windows上的Ubuntu上使用Bash大约一年了。我只是将常规更新应用于:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

直到上周才发生任何问题。当我workon env然后启动Django时,所有这些与加密和散列有关的Python错误都会出现。不记得他们说了什么,但显然找不到什么。我只是忽略了它们,因为我正处于一个项目的中间,并认为我之后会解决它们,因为它只是开发服务器。

无论如何,我昨天进来工作,突然间我得到了:

-bash: /usr/local/bin/python3.6: No such file or directory
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=/usr/local/bin/python3.6 and that PATH is
set properly.

我读了一些与此相关的SO问题。基本上他们都建议卸载virtualenvvirtualenvwrapperpip。那就是如果做pip3 install --upgrade virtualenvwrapper不起作用,那就不行。昨天卸载,重新安装和离开工作,一切看似运行正常。

今天上班,问题又回来了,所以我不知道如何解决它。我正在运行Python 3.6.3PIP3。我的~/.bashrc有以下内容,我添加了一些其他行以“修复”此问题:

export PYTHONPATH=${PYTHONPATH}:/usr/bin
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.6
export WORKON_HOME=/mnt/c/dev/.venvs
export VIRTUALENVWRAPPER_VIRUTALENV_ARGS='--no-site-packages'
export PIP_VIRTUALENV_BASE=$WORKON_HOME
export PIP_RESPECT_VIRTUALENV=true
source /usr/local/bin/virtualenvwrapper.sh

最新的错误消息是:

/usr/bin/python3.6: Error while finding module specification for 'virtualenvwrapper.hook_loader' (ModuleNotFoundError: No module named 'virtualenvwrapper')
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=/usr/bin/python3.6 and that PATH is
set properly.
-bash: /usr/local/bin/python3.6: No such file or directory
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=/usr/local/bin/python3.6 and that PATH is
set properly.

Python 3.6.3位于/usr/binvirtualenvwrapper.sh位于/usr/local/bin/virtualenvwrapper.sh。不知道为什么它会查看/usr/local/bin/python3.6,因为我没有看到指定的位置。

希望我知道是什么原因导致它突然崩溃。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

我想我会继续回答这个问题。

显然,这是与Windows 10 Fall Creators Update相关的问题。在Windows上使用Ubuntu和Ubuntu上的Bash(lxrun),或者通过Windows应用商店使用Ubuntu(如果可以下载),会导致此错误。据我所知,错误来自于在Linux环境中使用repos在virtualenv或任何Windows驱动器上安装npm install/mnt/c等内容。我想两者之间的符号链接存在问题。

对我而言,Microsoft Windows [Version 10.0.16299.19]的环境破灭了。这是在我的工作计算机上,基本上让我关闭了几天,直到我弄清楚发生了什么。我的个人笔记本电脑仍在Microsoft Windows [版本10.0.15063]下运行正常。我必须将IT还原到以前的版本并关闭Windows更新,直到他们解决问题为止。

自今年年初以来,我一直在运行此设置,在我的项目目录中安装venvsnpm repos没有任何问题。