如何告诉 setuptools 从 src/mypackage 获取我的包

piR*_*red 8 python setuptools setup.py

我有一个这样的包目录设置

package_dir
|-src
| |-mypackage
|   |-__init__.py
|
|-setup.py
Run Code Online (Sandbox Code Playgroud)

如何设置setup.py才能使我能够import mypackage

我试过:我跑python setup.py bdist_wheel哪里setup.py有选择...

packages=find_packages(include=["src"]),
package_dir={"": "src"},
Run Code Online (Sandbox Code Playgroud)

当我运行 pip install path/to/mypackage.whl 它安装得很好但是当我这样做时python -c "import mypackage"它失败了ModuleNotFoundError whilepython -c "import src.mypackage"很好

phd*_*phd 11

find_packages(where='src')
Run Code Online (Sandbox Code Playgroud)

使用where,不是includeexclude/include用于进一步过滤找到的包。看:

$ python
Python 2.7.13 (default, Nov 24 2017, 17:33:09) 
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from setuptools import find_packages
>>> find_packages()
[]
>>> find_packages(include=['src'])
[]
>>> find_packages(where='src')
['mypackage']
Run Code Online (Sandbox Code Playgroud)