我使用Python和Cygwin環境來開發數據處理腳本和Python包我想積極使用腳本,同時還要更新這些腳本所依賴的包。我的問題是什麼是最佳實踐,建議管理模塊加載路徑以隔離和測試我的開發更改,但不影響生產腳本的工作。用於開發和生產的單獨Python路徑
Python導入模塊按照下面的順序(見M.魯茲,Python入門)
- 主目錄。
PYTHONPATH
目錄。- 標準庫目錄。
- 任何
*.pth
文件的內容。
我目前的解決辦法是安裝我的包裹在本地(而不是在/usr/lib/python2.x/
)site-packages
目錄,並因此這些默認加載全球site-packages
目錄中添加一個*.pth
文件。在開發目錄中,我然後簡單地修改PYTHONPATH
以使用本地更改加載我正在積極開展工作的軟件包。
有沒有更爲標準的方法來處理這種情況?設置一個virtualenv
或其他一些操作模塊加載路徑的方式?
Virtualenv聽起來像是要走的路。 – Max
我認爲這不是一個長時間運行的Python程序,也不是一個產生子進程的Python程序,對吧?否則,看起來你在執行期間會遇到'sys.modules'和'sys.path'不同步的問題。 –