将非 python 文件添加到 setup.py

Aks*_*hay 5 python

我正在尝试添加*.ui&*.png文件setup.py,这就是我到目前为止所拥有的

from setuptools import setup, find_packages

from smlgui import __version__

setup(
    name='smlgui',
    version=__version__,
    packages=find_packages(),
    url='https://github.com/akshaybabloo/SML-GUI',
    license='MIT',
    author='Akshay Raj Gollahalli',
    author_email='akshay@gollahalli.com',
    description='Data exporter for Spikes Markup Language (SML).',
    requires=['click', 'pyqt'],
    scripts=['sml.sh', 'sml.cmd'],
    package_data={'smlgui': ['*.ui', '*.png']},
    include_package_data=True
)
Run Code Online (Sandbox Code Playgroud)

我不确定发生了什么,但是当我尝试执行python setup.py installpip install .*.py安装时。

我尝试按照此处给出的过程 ->使用 setup.py 包含非 Python 文件,但它没有帮助。

另外,我创建MANIFEST.in

include *.ui
include *.png
Run Code Online (Sandbox Code Playgroud)

我不确定是否必须告诉我setup.py读取此文件还是它会自动完成。

我的文件结构是

root_folder
|
|   MANIFEST.in
|   setup.py
|   sml.cmd
|   sml.sh
|
+---smlgui
|   |   main.py
|   |   processor.py
|   |   utility.py
|   |   __init__.py
|   |
|   +---gui
|   |   |   about.ui
|   |   |   main.ui
|   |   |   __init__.py
|   |   |
|   |   \---assets
|   |           logo.png
|   |           spikes-logo.png
|   |           __init__.py
|   |
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。

Aks*_*hay 6

我得到了它。确保MANIFEST.in文件中有完整路径。就像是:

include smlgui/gui/*.ui
include smlgui/gui/assets/*.png
Run Code Online (Sandbox Code Playgroud)

然后通过创建一个轮子来测试它

python setup.py bdist_wheel
Run Code Online (Sandbox Code Playgroud)

在文件夹下build您应该能够看到所有内容。