【发布时间】:2020-08-27 07:39:34
【问题描述】:
所以我builded a python packagelocaly:
cgi@cgires:~$ pip list | grep mads
madscgi 0.1.0
真好!之后我可以在 Jupyter Notebook、iPython Shell、Python Shell 甚至 Python 脚本中使用它在模块代码之外。所以它在模块代码之外 100% 可以正常工作:
很好,但接下来我想将代码从一个构建模块(inside package)导入另一个 python 文件(inside package)。让我们将其命名为import_test.py 并尝试一下:
因此,如果它在构建包的目录中执行,则会失败。看起来,python interpreter 正在获取父目录(与模块一样具有同名)并且失败了。
是否可以强制使用已安装的 pip-package?
【问题讨论】:
-
该描述并没有明确说明哪些模块正在尝试导入什么,以及这些模块之间的关系。请edit您的帖子提供一个最小的、可复制的示例作为可复制的文本,而不是图像。有文件
/home/cgi/mads_remote/mads_pkg/mads_cons/mads_cons.py吗?如果import_test.py只是import mads_cons,那么mads_cons.__file__的值是多少? -
@MisterMiyagi 你指出来了!我有一个 python 文件
/home/cgi/mads_remote/mads_pkg/mads_cons/mads_cons.py。我将它重命名为mads_connections.py并且它可以工作 - 所以我以后永远不会在父目录和文件中使用相同的名称。 -
你能创建一个简短的答案还是我应该?所以我们可以关闭它。
标签: python-3.x python-module python-packaging