如何停止Virtualenv更改路径顺序



我目前的状态是:

>>> virtualenv --version
1.11.6
>>> export PATH=$(getconf PATH)
>>> . ~/.bashrc
>>> echo -e "${PATH//:/\n}"
/bin
/usr/bin
/home/jozxyqk/bin
/usr/local/cuda/bin

但是在激活虚拟环境之后,

>>> . env/bin/activate
>>> echo -e "${PATH//:/\n}"
/home/jozxyqk/somepath/env/bin
/usr/local/cuda/bin
/usr/lib64/qt-3.3/bin
/usr/lib64/ccache
/usr/local/bin
/usr/bin
/usr/local/sbin
/usr/sbin
/home/jozxyqk/bin

现在/usr/local/cuda/bin出现在/usr/bin之前,事物开始使用gcc的真正旧版本,因为cuda/bin中有一个符号链接(我正在尝试使用需要GCC的pip install东西)。现在,就我而言,我可以通过删除我的符号链接来解决这个问题,但是在PATH中订购的AFAIK对于保存非常重要。除了打破事情外,允许/usr/bin的位置更改似乎有点安全问题。

这是一个错误,是否有解决方法或我做错了什么?

virtualenv记住您第一次设置时所拥有的路径。unset _OLD_VIRTUAL_PATH并重新运行activate重置。

最新更新