【发布时间】:2020-01-13 10:19:19
【问题描述】:
我有 2 个相同文件:
a.py 和 b.py 。
它们都包含该行
from mypackage.utils import common
我还有一个包裹:
mypackage/
__init__.py
mymodule.py
utils/
__init__.py
common.py
myutils1.py
b.py
data_classes/
__init__.py
command_file.py
myclass.py
我初步做了一个
pip install mypackage
然后我运行:
python a.py
成功了
然后我跑
python b.py(注意 b.py 是 mypackage 中的一个文件)
b.py 以 no module named utils 失败
有什么想法吗?
(注意:我对 stackoverflow 还很陌生,这与 Python modules import fails ,虽然不知何故是一个后续问题,所以如果我通过提出一个新问题来做错了什么,请告诉我:)
编辑:
我将 mypackage(特别是 mypackage 中的文件 b)安装在:
$HOME\github\mypackage\mypackage\utils\b.py
我将 b.py 复制到 a.py 中: $HOME\github\mypackage 这行得通
我将 b.py 复制到 a.py 中: $首页\github\ 这不起作用
所以这在某种程度上解释了这一点......虽然我仍然不知道如何解决它!
编辑: 我从以下行编辑了 setup.py:
packages=['mypackage'],
到
packages=['mypackage','mypackage.data_classes','mypackage.utils']
这似乎解决了我的问题:现在一切正常。
我有什么理由不应该这样做吗?
【问题讨论】:
-
能否添加运行
python a.py和python b.py的路径? -
谢谢 JRajan,我意识到这不仅仅是一个问题:D 我编辑了我的问题以反映你在那里所说的话......我仍然不明白如何解决这个问题......
标签: python python-3.x import module