这是示例包的结构:
$ tree Foo/
Foo/
??? setup.py
??? src
??? bar.py
??? __init__.py
Run Code Online (Sandbox Code Playgroud)
包的名称应该是foo包的源文件放在src文件夹中。
文件的内容是:
设置.py:
from setuptools import setup
setup(
name='foo',
version='1',
packages=['foo'],
package_dir={'foo': 'src'}
)
Run Code Online (Sandbox Code Playgroud)
__init__.py:
from .bar import bar
print(bar)
Run Code Online (Sandbox Code Playgroud)
酒吧.py:
bar = 1
Run Code Online (Sandbox Code Playgroud)
当pip install Foo一切都很好时,我可以按预期使用该软件包:
>>> import foo
1
Run Code Online (Sandbox Code Playgroud)
但是,当我以可编辑模式 ( pip install -e Foo)安装软件包时,它不起作用:
>>> import foo
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'foo'
Run Code Online (Sandbox Code Playgroud)
相反,我src …