使用Enthought Canopy运行python脚本而不指定其完整路径

时间:2014-05-28 20:58:26

标签: python python-2.7 enthought canopy

我希望能够使用Enthought Canopy在命令行运行python脚本,但我不想指定脚本的完整路径。

我认为,有两种选择。

选项1:使python脚本成为可执行文件,将#!/usr/bin/env python添加到脚本顶部,并将包含脚本的目录放在$PATH上。现在我可以像这样执行脚本:

$ run.py

选项2:正如Andrew Clark在另一个SO post中所建议的,只需将包含该脚本的目录放在我的$PYTHONPATH上。然后我可以像这样执行脚本:

$ python -m run.py

-m导致python搜索$PYTHONPATH

我更喜欢选项2,它在我的mac(v2.7.2)上使用系统python可以正常工作,但是我不能让它与Enthought Canopy一起工作。我可以加载Canopy python并在与run.py相同的目录中导入模块,所以我知道我的路径是正确的。我只是无法从命令行执行脚本。这是一个错误还是我做错了什么?

1 个答案:

答案 0 :(得分:0)

顺便说一下,它可能是一个错字,但只是为了确保你应该使用-m选项使用模块名称而不是文件名。例如,python -m run

如果这不是问题,那么请确保选项2中使用的python是位于Canopy用户虚拟环境中的python。您可以使用which命令来验证。例如:

$ which python /Users/YourUserId/Library/Enthought/Canopy_64bit/User/bin/python

如果这不是您所获得的,那么您可以将该bin文件夹添加到PATH环境变量的开头,或者您可以像这样激活该虚拟环境:

source /Users/YourUserId/Library/Enthought/Canopy_64bit/User/bin/activate