我完全不熟悉Python,並且想創建我的第一個用於peronal使用的Python庫。創建並導入自定義python包 - 導入在根目錄下不起作用
我正在使用Python 2.7.5,並運行IDLE接口。
到目前爲止,我從文檔和相關問題理解的是:
- Python的經歷在sys.path所列目錄的列表中找到腳本和庫
- 包的目錄中必須包含一個
__init__.py
文件,它可以爲空 - 我要創建的模塊應該是一個
modulename.py
文件與包目錄裏面的代碼
(來源:http://www.johnny-lin.com/cdat_tips/tips_pylang/path.html --- https://docs.python.org/2/tutorial/modules.html)
這裏是我的嘗試失敗:
- 創建創造了
__init__.py
創建的個人包目錄C:\....\pythonlibs
- 子包目錄
C:\....\pythonlibs\package
- 文件夾內的文件
- 在
packacge
中創建mymodule.py
文件dir
然後在空閒時才能使用此代碼:
import sys
sys.path.append(r'C:\....\pythonlibs')
第一個問題:
目前,我必須這樣做,每次我進入IDLE追加。我該如何將目錄保存在sys.path中,就像那裏有很多其他目錄一樣?
然後我試圖導入我的包:
import pythonlibs #fails!! why?
import pythonlibs.package #fails!! why?
import package #works
的錯誤是:ImportError: No module named pythonlibs
第二期?
這似乎是違反文檔,爲什麼我不能從根目錄
pythonlibs
文件夾導入?
因爲您的導入是相對於您添加的路徑:'r'C:\ .... \ pythonlibs''。如果有'C:\ .... \ pythonlibs \ pythonlibs'目錄,那麼你可以'導入pythonlibs'。您可能想要將路徑添加到'r'C:\ .... \''並查找'PYTHONPATH'環境變量。 – msw