簡體   English   中英

從打包模塊中導入 python 模塊

[英]Import a python module from within a packed module

所以我建立了一個 python package localy

cgi@cgires:~$ pip list | grep mads
madscgi                     0.1.0

很好,之后我可以在 Jupyter Notebook、iPython Shell、Python Shell 甚至在模塊代碼之外的python 腳本中使用它。 所以它在模塊代碼之外按預期 100% 工作:

working_outside_the_packaged 代碼

很好,但接下來我想將代碼從一個構建模塊(包)導入另一個 python 文件(包)。 讓我們將其命名為import_test.py並嘗試一下:

工作包裝

因此,如果它在構建 package 的目錄中執行,則會失敗。 看起來, python interpreter器正在使用父目錄(與模塊同名),這失敗了。

是否可以強制使用已安裝的 pip-package?

正如@MisterMiyagi 指出的那樣,問題在於,有一個與模塊同名的上層文件夾。

這里: mads_consimport_test.py的上層文件夾。 因此,將導入上層文件夾,而不是通過 pip 安裝模塊。 而已。

您要導入的文件應位於同一文件夾中或使用其絕對路徑引用。

如果這不適合你,你可以調用 sys.path

import sys

sys.path

您可以將文件保存在 sys.path 返回的任何目錄中。

如果您將文件保存在里面,那將是聰明的。

......../站點包/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM