【发布时间】:2018-12-18 10:23:05
【问题描述】:
我已经将virtualenv添加到现有项目中,无法理解奇迹:
dev:/www/development$ echo $PATH
/usr/local/bin:/usr/bin:/bin
dev:/www/development$ python -c "import sys; print(sys.executable)"
/usr/bin/python3
dev:/www/development$ source env/bin/activate
(env) dev:/www/development$ echo $PATH
/www/development/env/bin:/usr/local/bin:/usr/bin:/bin
(env) dev:/www/development$ python -c "import sys; print(sys.executable)"
/usr/bin/python3
(env) dev:/www/development$ /usr/bin/env python -c "import sys; print(sys.executable)"
/www/development/env/bin/python
(env) dev:/www/development$ which python
/www/development/env/bin/python
...
(env) dev:/www/development$ hash -r
(env) dev:/www/development$ python -c "import sys; print(sys.executable)"
/usr/bin/python3
(env) dev:/www/development$ hash
hash: hash table empty
(env) dev:/www/development$ type python
python is aliased to `/usr/bin/python3'
(env) dev:/www/development$ man python
(env) dev:/www/development$ hash
hits command
1 /usr/bin/man
在具有相同配置的另一台主机上,一切都按预期工作。我错过了什么?为什么shell选择错误的可执行文件?
更新(发现问题)
感谢@iBug 向我指出type python 命令。经过一番思考,我注意到我在/etc/profile 中有python 的别名,从很久以前就留在那里了:
alias python='/usr/bin/python3'
【问题讨论】:
标签: python bash virtualenv