我正在学习包内引用。我有一个主包ecommerce,其中有两个子包:shopping和customer。在购物中我有sales.py文件,在customer中我有contact.py文件。
sales.py有
from ecommerce.customer import contact它会给出错误no module name ecommerce。但是在主文件夹中有一个app.py文件,它不是购物和客户子包的一部分,在这个文件中,上面的导入可以正常工作。
发布于 2019-12-05 18:49:57
你可能会因为你的文件夹架构而遇到这个问题。
假设,正如您所说的,您运行:
from ecommerce.customer import contact您在这里实际告诉Python的是从子文件夹customer导入contact.py ( Python文件),该子文件夹位于名为ecommerce的子文件夹中。如果您在工作目录中没有名为ecommerce的子文件夹,则此将不工作。
现在,您可以注意到它可能在您的主文件夹中工作,因为(根据我的猜测)这就是名为ecommerce的子文件夹所在的位置。
如果您的文件位于另一个目录中,您可以在运行时将文件的路径添加到Python路径:
import sys
sys.path.insert(1, '/ecommerce/shopping/customer')
# and then
import contacthttps://stackoverflow.com/questions/59193445
复制相似问题