【发布时间】:2014-04-23 18:24:47
【问题描述】:
我是 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 文件只是为了看看这是否搞砸了,但我得到了相同的结果。
【问题讨论】:
-
刚刚构建了一个包含两个文件(
my_package/__init__.py和my_package/static/a.css)的简单项目,您的setup.py和MANIFEST.in工作正常。您的清单中有其他规则吗?如果您能提供一个重现问题的最小项目,那就太好了。 -
@uranusjr:那行得通。然后我删除了 PyPI 上的整个包并重新提交,没有任何问题。一定是 PyPI 的结果。由于您有效地解决了问题,请发表您的评论作为答案,我会接受。谢谢!
标签: python pip manifest setup.py pypi