setup.py 中找不到 File.open(readme)

问题描述 投票:0回答:2

我发送给 pip 的 Python 包中的

setup.py
文件:

#!/usr/bin/env python

from distutils.core import setup

setup(
    #......
    long_description=open('README.md').read(),
    #....
)

文件

README.md
存在。当在
setup.py
中放置断点并在本地执行时,它可以很好地读取文件。但是,当我从 pip (
pip install my_lib
) 安装它时,它在安装过程中抛出异常,提示未找到它:

File "/private/var/folders/ty/0nvksfhn29z_cjb6md2t3x8c0000gn/T/pip_build_alex/my_app123/setup.py", line 14, in <module>
        long_description=open('README.md').read(),
    IOError: [Errno 2] No such file or directory: 'README.md'
    Complete output from command python setup.py egg_info:

更新:

我刚刚从 pip 下载了我的库,解压后发现文件 README、LICENCE、MANIFEST 不在其中。它们在 gitignore 中要么是因为它们存在于 github 中。

python
2个回答
20
投票

我需要创建包含以下内容的

MANIFEST.in

include README.md
include LICENSE.txt

0
投票

您需要有一个

manifest.in
,如上面答案中所述,并且您还需要通过添加以下参数将其添加到您的
setup.py
include_package_data=True

所以它看起来像:

setup(
    ....
    packages=find_packages(),
    include_package_data=True,
    ...
)
© www.soinside.com 2019 - 2024. All rights reserved.