猿问

Setup.py 没有安装我的 package_data

在 Ubuntu 16.04 和 Windows 7 (pip 18.1, python 2.7.15) 上,我遇到了一个问题,package data 它进入了 tar.gz 文件,但是当我安装时它们没有安装到我的脚本目录中点。我在 Windows 上的脚本目录是\Python27\Scripts. 我也签入了site-packages,但文件没有显示在那里。当通过 pip 安装时,我希望在 python 脚本旁边显示一个文本文件,我认为使用data_files并不能实现这一点(根据 setup.py 没有安装数据文件?

我的包结构将所有文件 ( hello.py, MANIFEST.IN, setup.py) 放在一个名为fakeapp. 我想保留这种结构,因为我实际尝试修复的项目具有这种结构。

我查了很多答案并尝试过:

  • __init__.pyrepo 的根添加一个空的,这并没有解决它。

  • 我试过添加和删除include_package_files=True无济于事

  • 我已经试过指定package_data={'':['texto.txt']}以及
    添加include texto.txtMANIFEST.in无济于事。

  • 这个答案:建议使用 bdist,这也不起作用。

我确定这是一个重复的问题,但我无法找到任何解决方案。

所以这是我的测试用例:setup.py

from setuptools import setup

setup(

    author='hi',

    author_email='hi@hi.com',

    description="test",

    scripts=['hello.py',],

    license='MIT',

    name='hi',

    version='v2018.12.02',

    include_package_data=True

)

你好.py:


#!/usr/bin/env python


def main():

    print('hello world!')


if __name__ == '__main__':

    main()

清单.in:


include texto.txt

我在 dist/ 中创建了一个 tar.gz


python setup.py sdist

而我的 texto.txt 就在那个 tarball 中。


然后我安装了


pip install dist\hi-2018.12.2.tar.gz

并且只hello.py进入C:\Python2.7\Scripts


我究竟做错了什么?


目录树:


│   hello.py

│   MANIFEST.in

│   setup.py

│   texto.txt

├───dist

│       hi-2018.12.2.tar.gz

└───hi.egg-info

        dependency_links.txt

        PKG-INFO

        SOURCES.txt

        top_level.txt


鸿蒙传说
浏览 502回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答