【发布时间】:2020-10-27 12:58:51
【问题描述】:
我正在尝试为我的图形框架 Goopylib (https://github.com/BhavyeMathur/goopylib) 创建一个 PyPi 包,它大部分都在工作。
当我尝试 pip install 我的包时,正在创建所有包文件 - 唯一的问题是这些包文件不是在它们自己的目录中创建的,而只是在 site-packages 目录中。
在这 2 个屏幕截图中,您可以看到像“math”文件夹或 GraphWin.py 文件这样的包文件是在 site-packages 文件夹中创建的,而不是它们自己的文件夹。
我希望我的代码组织起来就像 goopylib 文件夹位于 site-packages 文件夹中一样:
这是我的设置文件:
from setuptools import setup
setup(
name='goopylib',
package_dir={'': 'goopylib', ':math': 'goopylib/math', ":objects": 'goopylib/objects'},
py_modules=['imports', 'colours', 'constants', 'GraphWin', 'Point', 'styles', 'util',
'math/BezierCurve', 'math/BSpline', 'math/Interpolations',
'objects/_BBox', 'objects/Arc', 'objects/Button', 'objects/Checkbox', 'objects/Circle',
'objects/CycleButton', 'objects/Entry', 'objects/GraphicsObject', 'objects/Image',
'objects/Line', 'objects/Oval', 'objects/Polygon', 'objects/RadioButton',
'objects/Rectangle', 'objects/Slider', 'objects/Text'],
version='1.0.7a5',
license='MIT License',
description='A simple-yet-powerful 2D graphics framework built on top of Tkinter capable of creating good-looking, modern GUIs, games, and simple animations.',
classifiers=[...]
)
我正在运行这些命令来创建包并上传到 PyPi
python setup.py bdist_wheel
和
twine upload dist/*
为什么会发生这种情况?如何确保我的所有包和子包文件都位于一个文件夹中?
【问题讨论】:
-
在
setup.py:py_modules仅用于“顶级模块”。 包使用packages。 -
哦,好吧。谢谢!有效!也许您可以对此进行扩展并将其作为答案发布,以便我接受。
标签: python python-3.x package pypi python-packaging