我希望能够使用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
相同的目录中导入模块,所以我知道我的路径是正确的。我只是无法从命令行执行脚本。这是一个错误还是我做错了什么?
答案 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