我有一台运行OSX约塞米蒂的机器(它已经通过了OSX的几个版本,这可能会有所不同)。你知道吗
我注意到python是否可以导入库取决于脚本是否直接运行
./Myscript.py
或者明确地调用python
python Myscript.py
现在,如果我打字
$whereis python
/usr/bin/python
我在剧本里的谢邦台词是
#!/usr/bin/python
所以我假设在这两种情况下运行的是相同版本的python。你知道吗
但经过调查我发现
$python --version
Python 2.7.6
$/usr/bin/python --version
Python 2.7.10
因此,似乎正在执行的python不是我在whereis中得到的python
有谁能解释一下这个问题,并说明如何解决?我真的很想在这两种情况下都运行2.7.10,因为现在当我安装库时,它们进入2.7.6,但是当我运行脚本时,它们运行2.7.10,并且看不到库。你知道吗
谢谢
乔恩
不要使用
whereis
,该命令会忽略PATH
环境变量。从手册页:我的。你知道吗
您有一个
PATH
环境变量,它包含一个“非标准”二进制目录。使用which
查找python
的来源:which
提供当前shell配置使用的实际二进制文件:您可以使用
which -a
查找命令的所有可能的完成项:另请参见超级用户上的“whereis” and “which” return different paths in Mac OS X。你知道吗
演示:
所以即使
PATH
显式地指向我的自制目录,whereis
也会忽略它。which
找到它并首先列出它(参数-a
使它寻找更多选项)。你知道吗相关问题 更多 >
编程相关推荐