2015-07-21 18 views
0

類模塊必須位於工作目錄中才能導入到python程序。但是,我想根據使用情況將我的各個主要程序保存在不同的目錄中,而不是將所有程序和所有類都卡入到一個巨大的目錄中。遠程位置的類模塊

我可以在我的腳本中添加什麼來指向正確的模塊目錄?更好的是:我可以在GitHub等repo上創建我的模塊目錄並從那裏導入?

+0

我不認爲Python模塊需要在工作目錄中。他們只需要在您的PYTHONPATH環境變量中列出的某個位置。不,他們不能直接在互聯網上 - 這意味着你需要訪問互聯網來運行你的程序。 – Borealid

+0

每次我開始新的終端會話時,是否必須將該路徑設置爲BASH腳本?順便說一句,我不關心需要上網,因爲我的程序需要它運行。 –

+0

您可以在任何設置環境變量的地方設置環境變量 - 〜/ .profile,/ etc/profile,還有其他十幾個地方......或者您可以將模塊安裝到默認PYTHONPATH中的某個位置,如/ usr/local/lib,而不必根本改變變量。通過在Python解釋器中執行'print sys.path',您可以在任何地方看到搜索Python模塊的地方。 – Borealid

回答

1

Python模塊需要在Python的搜索路徑中的某處。這恰好包括工作目錄。

有很多地方來存儲一個的模塊,可能是最簡單的就是

/usr/local/lib/pythonx.y/site-packages 

/usr/local/lib/pythonx.y/dist-packages 

(哪一個是你的系統上)。

一旦在那裏,你應該爲你的東西的目錄,創建一個空__init__.py文件在該目錄中,那麼你的模塊複製到它:

sudo mkdir MyStuff 
sudo touch MyStuff/__init__.py 
sudo cp /home/me/my_module1.py MyStuff/ 
sudo cp /home/me/my_module2.py MyStuff/ 

,然後在你的腳本可以

from MyStuff import my_module1