这是我的项目目录结构,其中包括项目文件夹 一个“框架”文件夹,包含多个项目共享的包和模块 它与层次结构中的项目文件夹位于同一级别:
--------------------------------------------------------------
Framework/
package1/
__init__.py
mod1.py
mod2.py
package2/
__init__.py
moda.py
modb.py
My_Project/
src/
main_package/
__init__.py
main_module.py
setup.py
README.txt
--------------------------------------------------------------
以下是我的setup.py文件内容的部分列表:
--------------------------------------------------------------
from distutils.core import setup
setup(packages=['package1',
'package2.moda',
'main_package'],
package_dir={'package1': '../Framework/package1',
'package2.moda': '../Framework/package2',
'main_package': 'src/main_package'})
--------------------------------------------------------------
以下是问题:
没有创建dist或构建目录
创建了清单文件,但列出了package2中的所有模块,而不仅仅是“moda.py”模块
构建终止时出现错误: README.txt:功能不正确
我不知道我是否有一个问题(可能与我的目录结构有关)或者我是否有多个问题,但我已经阅读了有关Python应用程序分发的所有内容,而且我很难过。< / p>
答案 0 :(得分:3)
IIUC正确地,package_dir中的路径应该停在Python包目录的父目录中。我试试这个:
package_dir={'package1': '../Framework',
'package2': '../Framework',
'main_package': 'src'})
答案 1 :(得分:2)
我遇到了类似的问题,通过指定根文件夹和根中的包解决了这个问题。
我的包具有以下结构:
.
├── LICENSE
├── README.md
├── setup.py
└── src
└── common
├── __init__.py
├── persistence.py
├── schemas.py
└── utils.py
setup.py 包含 package_dir 和 packages 行:
package_dir={"myutils": "src"},
packages=['myutils.common'],
运行 python setup.py bdist_whell
并安装 .whl 文件后,可以使用以下命令调用包:
import myutils.common