相关疑难解决方法(0)

MANIFEST.in在"python setup.py install"上忽略 - 没有安装数据文件?

这是我删除的非代码内容的精简版setup.py脚本:

#!/usr/bin/env python

from distutils.core import setup
from whyteboard.misc import meta


setup(
    name = 'Whyteboard',
    version = meta.version,

    packages = ['whyteboard', 'whyteboard.gui', 'whyteboard.lib', 'whyteboard.lib.pubsub',
                'whyteboard.lib.pubsub.core', 'whyteboard.lib.pubsub.utils', 'whyteboard.misc'],

    py_modules = ['whyteboard'],
    scripts = ['whyteboard.py'],
)
Run Code Online (Sandbox Code Playgroud)

MANIFEST.in:

include *.txt
include whyteboard-help/*.*
recursive-include locale *.mo
recursive-include images *.png
Run Code Online (Sandbox Code Playgroud)

当我运行"python setup.py install sdist"时,我得到一个很好的.tar.gz,带有"whyteboard-0.41"根文件夹,里面有我的locale/images /和whyteboard-help/folders.这也有我的whyteboard.py脚本,它从whyteboard源包中启动我的程序.

所以:

whyteboard/
 ??? locale/
 ??? images
 ??? whyteboard-help/
 ??? whyteboard/
 ?  ??? __init__.py
 ?  ??? other packages etc
 ??? whyteboard.py
 ??? README
 ??? setup.py
 ??? CHANGELOG
Run Code Online (Sandbox Code Playgroud)

这反映了我的程序的来源,一切应该是怎样的,并且是正确的.

但是,当我运行"python setup.py install"时,我的数据文件都没有写入 …

python install distutils build

78
推荐指数
6
解决办法
3万
查看次数

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无法实现此目的(根据 \n setup.py 不安装数据文件

\n\n

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

\n\n

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

\n\n
    \n
  • 将空添加__init__.py到存储库的根目录中,但这并不能解决问题。
  • \n
  • 我尝试过添加和删除include_package_files=True但无济于事
  • \n
  • 我已尝试指定package_data={\'\':[\'texto.txt\']}
    添加include texto.txtMANIFEST.in无济于事。
  • \n
  • 这个答案:建议使用 bdist,但这也不起作用。
  • \n
\n\n

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

\n\n

这是我的测试用例:\nsetup.py

\n\n
from setuptools import setup\nsetup(\n    author=\'hi\',\n    author_email=\'hi@hi.com\',\n    description="test",\n    scripts=[\'hello.py\',],\n …
Run Code Online (Sandbox Code Playgroud)

python pip setup.py

4
推荐指数
1
解决办法
5135
查看次数

标签 统计

python ×2

build ×1

distutils ×1

install ×1

pip ×1

setup.py ×1