我是PyPI的新手...所以让我有资格。我试图在PyPI上放一个包,但是当我尝试用pip安装它时遇到了一些麻烦。当我将文件上传到PyPI时,我收到一个警告(但是setup.py脚本完成时没有致命错误和200状态):
'my_package/static/my_folder' not a regular file -- skipping
然后当我在pip中安装它时,我收到一个错误:
"error: can't copy 'my_package/static/my_folder': doesn't exist or not a regular file.
从SO上的其他答案,我尝试更改我的MANIFEST.in和我的setup.py文件,没有运气。这是我目前的MANIFEST.in:
recursive-include my_package *.css *.js *.jinja2
和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',
],
)
编辑:我也试过省略MANIFEST.in文件只是为了看看是不是搞乱了什么,但我得到了相同的结果。
答案 0 :(得分:2)
(根据要求发表评论。)
您的设置脚本和MANIFEST.in
应该有效。用一个最小的例子证明这一点:
my_project/
my_package/
static/
a.css
__init__.py
MANIFEST.in
setup.py
运行python setup.py sdist
,您会发现static/a.css
和__init__.py
捆绑在tar.gz
包中。