相关疑难解决方法(0)

包含setup.py的非Python文件

如何制作setup.py包含不属于代码的文件?(具体来说,它是一个许可证文件,但它可能是任何其他东西.)

我希望能够控制文件的位置.在原始源文件夹中,该文件位于包的根目录中.(即与最顶层处于同一级别__init__.py.)我希望它在安装软件包时保持完全无论操作系统如何.我怎么做?

python distutils

172
推荐指数
9
解决办法
9万
查看次数

如何使用setuptools/distribute包含包数据?

使用setuptools/distribute时,我无法让安装程序提取任何package_data文件.我读过的所有内容都表明以下是正确的方法.有人可以建议吗?

setup(
   name='myapp',
   packages=find_packages(),
   package_data={
      'myapp': ['data/*.txt'],
   },
   include_package_data=True,
   zip_safe=False,
   install_requires=['distribute'],
)
Run Code Online (Sandbox Code Playgroud)

myapp/data/数据文件的位置在哪里.

python setuptools distribute

115
推荐指数
8
解决办法
7万
查看次数

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万
查看次数

MANIFEST.in,package_data和data_files澄清?

我正在尝试创建一个Python包,我有一个像这样的目录结构:

mypkg/
??? __init__.py
??? module1
?   ??? x.py
?   ??? y.py
?   ??? z.txt
??? module2
    ??? a.py
    ??? b.py
Run Code Online (Sandbox Code Playgroud)

然后我添加了所有文件MANIFEST.in,当我检查创建的存档时,它有所有文件.

当我做python setup.py install的时候dist-packages/mypkg/module1.我只看到Python文件而不是z.txt.

我有z.txt两个MANIFEST.insetup.py:

setup (
    packages = [
        'mypkg',
        'mypkg.module1',
        'mypkg.module2',
    ],
    package_data = {
        'mypkg': ['module1/z.txt']
    },
    include_package_data = True, 
    ...
)
Run Code Online (Sandbox Code Playgroud)

我尝试添加该文件,data_files但是创建了一个目录/usr/local.我想将它保存在源代码目录中,因为代码使用该数据.

我已经阅读了下面列出的帖子,但我一直对于z.txt在正确的位置之后保持正确位置的方法感到困惑setup.py install.

python distutils setuptools

22
推荐指数
2
解决办法
5088
查看次数

标签 统计

python ×4

distutils ×3

setuptools ×2

build ×1

distribute ×1

install ×1