pip 安装。仅允许在原始目录中导入包

问题描述 投票:0回答:0

我有一个在本地构建的包,我希望分发以在另一个包中使用。在

pip install .
之后,我可以导入此包并在 Python 中运行函数,但 仅当在原始目录中时。 例如,安装包后立即:

>>> import mypkg
>>> mypkg.components.body_columns.dummify
<function dummify at 0x7fb380650e50>

但是,一旦离开该目录,就无法再导入了。例如在

cd ~/Desktop
之后:

>>> import mypkg
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'mypkg'

此外,在以

pip show mypkg
给出的安装位置,当前只有
mypkg-1.3.0.dist-info
目录,没有
mypkg
目录。我一直在尝试遵循此指导,但还没有运气,这似乎是一个明显的问题。

我是尝试分发软件包的新手 - 知道发生了什么吗?

如果有帮助,(简化的)层次结构是:

mypkg
├── mypkg
│   └── components
│       ├── __init__.py
│       └── body_columns.py
├── __init__.py
├── app.py
└── setup.py

基础

__init__.py
写作:
from . import mypkg

python pip package setuptools setup.py
© www.soinside.com 2019 - 2024. All rights reserved.