[英]How to run a Python script portably without specifying its full path
[英]Use Enthought Canopy to run a python script without specifying its full path
我希望能夠使用Enthought Canopy在命令行上運行python腳本,但是我不想指定腳本的完整路徑。
在我看來,有兩種選擇。
選項1:將python腳本設為可執行文件,在腳本頂部添加#!/usr/bin/env python
,然后將包含腳本的目錄放在$PATH
。 現在,我可以像這樣執行腳本:
$ run.py
選項2:如安德魯·克拉克(Andrew Clark)在另一篇SO帖子中所建議,只需將包含腳本的目錄放在我的$PYTHONPATH
。 然后,我可以像這樣執行腳本:
$ python -m run.py
-m
使python搜索$PYTHONPATH
。
我更喜歡選項2,它在我的mac(v2.7.2)上的系統python上可以正常工作,但是我無法使其與Enthought Canopy一起使用。 我可以在與run.py
相同的目錄中加載Canopy python並導入模塊,因此我知道路徑正確。 我只是無法從命令行執行腳本。 這是一個錯誤還是我做錯了什么?
順便說一句,這可能是一個錯字,但只是為了確保您應該使用帶有-m
選項的模塊名而不是文件名。 例如, python -m run
如果這不是問題,請確保在選項2中使用的python是Canopy User虛擬環境中的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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.