这是我删除的非代码内容的精简版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"时,我的数据文件都没有写入 …
在 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 不安装数据文件?
我的包结构将所有文件 ( hello.py, MANIFEST.IN, setup.py) 放在一个名为 的根文件夹中fakeapp。我想保留这个结构,因为我实际尝试修复的项目具有这个结构。
我查了很多答案并尝试过:
\n\n__init__.py到存储库的根目录中,但这并不能解决问题。include_package_files=True但无济于事package_data={\'\':[\'texto.txt\']}和include texto.txt但MANIFEST.in无济于事。我确信这是一个重复的问题,但我无法找到任何可行的解决方案。
\n\n这是我的测试用例:\nsetup.py
\n\nfrom 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)