2013-10-10 83 views
4

對我來說,它位於C:\ Python33 \ libs。Python - 什麼是libs子文件夾?

僅供參考 - 這是不是與C:\ Python33 \ Lib相同的文件夾 - 請注意大小寫和缺少's'。

在我正在研究的一臺計算機上,我只是將一個.py文件放入libs文件夾,並可以像庫/模塊一樣導入並使用它(對不起,我不太瞭解術語)我正在從事的項目是。

但是,在試圖在另一臺機器上覆制此操作時,這不起作用。嘗試導入只是給出了一個「無模塊名爲X」的錯誤。

因此,顯然我誤解了libs文件夾的用途,以及它與Lib文件夾的不同之處。

那麼究竟的區別?

回答

2

如果比較libs/vs.Lib /你會發現後者全是* .py文件,而前者有* .lib文件。用文本編輯器進一步調查將顯示* .py文件是人類可讀的(我希望)和* .lib文件不是。

而這纔是真正的區別。如果你想知道更多,.lib文件是靜態鏈接庫,用於構建.dlll,C擴展和所有好東西。如果你感興趣的話,請打開rabbithole

在你的問題的肉:你應該能夠在那裏放置模塊,並能夠導入它們?不是真的。這是您的路徑中包含該文件夾的副作用。從模塊docs

當一個名爲垃圾郵件模塊導入時,解釋首先搜索 爲內置有該名稱的模塊。如果找不到,它會在 變量sys.path給出的目錄列表中搜索名爲spam.py的文件 。 sys.path從這些位置初始化:

  • 包含輸入腳本(或當前目錄)的目錄。
  • PYTHONPATH(目錄名稱列表,其語法與shell變量PATH相同)。
  • 安裝依賴的默認值。

多種安裝方式將修改%PATH%或%PYTHONPATH%,所以我不能告訴你到底哪裏找;在我的窗口框中,python安裝程序爲我修改了%PATH%,所以你應該先看看那裏。值得注意的是,我的路徑不是包括Python33/libs /所以我不會指望它默認存在。

+0

謝謝,非常清楚。 Python33/libs /不包含在我的路徑中(在任一臺機器上)。也許我只是將一個副本放到lib和Lib中而沒有意識到它?無論如何,你完美地回答了我的問題! – Kevin

0

只看我的(Windows 7)/ libs似乎是本地代碼庫(* .lib)與/ lib中的直接python庫。自述文件還提到了一個配置標誌:

--with-libs ='libs':將LIs添加到LIBS中,Python鏈接器 與LIBS鏈接。

哪些可能會或可能不會在不同的安裝/平臺上設置。

這不是一個真正的答案;希望有更紮實的知識的人會進一步解釋 - 僅僅是太多的信息擠進評論。