如何在PyPI中包含non.py文件?

use*_*084 6 python pip manifest pypi setup.py

我是PyPI的新手...所以让我有资格.我试图在PyPI上放一个包,但是当我尝试用pip安装它时遇到了一些麻烦.当我将文件上传到PyPI时,我收到一个警告(但setup.py脚本完成时没有致命错误和200状态):

'my_package/static/my_folder' not a regular file -- skipping
Run Code Online (Sandbox Code Playgroud)

然后当我在pip中安装它时,我收到一个错误:

"error: can't copy 'my_package/static/my_folder': doesn't exist or not a regular file. 
Run Code Online (Sandbox Code Playgroud)

从SO的其他答案,我已经尝试更改我的MANIFEST.in和我的setup.py文件,没有运气.这是我目前的MANIFEST.in:

recursive-include my_package *.css *.js *.jinja2
Run Code Online (Sandbox Code Playgroud)

和setup.py:

try:
    from setuptools import setup, find_packages
except ImportError:
    from distutils.core import setup, find_packages

setup(
    name='my_package',
    packages=find_packages(),
    include_package_data=True,
    platforms='any',
    version='1.0',
    description='my_description',
    license='MIT',
    author='Me',
    author_email='me@example.com',
    install_requires=[
        'Flask',
        'Jinja2',
        'requests',
    ],
    url='http://www.example.com',
    download_url='https://github.com/me/my_package/tarball/1.0',
    classifiers=[
        'License :: OSI Approved :: MIT License',
    ],
)
Run Code Online (Sandbox Code Playgroud)

编辑:我也尝试省略MANIFEST.in文件只是为了看看是否有任何混乱,但我得到相同的结果.

ura*_*sjr 2

(根据要求转发评论。)

您的设置脚本MANIFEST.in应该可以工作。用一个最小的例子来证明这一点:

my_project/
    my_package/
        static/
            a.css
        __init__.py
    MANIFEST.in
    setup.py
Run Code Online (Sandbox Code Playgroud)

运行python setup.py sdist一下你会发现包里都捆绑了static/a.css和。__init__.pytar.gz