Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用setuptools复制非.py文件_Python_Setuptools_Setup.py - Fatal编程技术网

Python 使用setuptools复制非.py文件

Python 使用setuptools复制非.py文件,python,setuptools,setup.py,Python,Setuptools,Setup.py,我的python项目通过setup.py安装。项目结构如下所示: ├── Makefile ├── README.rst ├── circle.yml ├── docs │   ├── Makefile │   ├── conf.py │   ├── deps.txt │   ├── guide_installation.rst │   ├── guide_model.rst │   ├── guide_transliteration.rst │   ├── index.rst │   ├──

我的python项目通过setup.py安装。项目结构如下所示:

├── Makefile
├── README.rst
├── circle.yml
├── docs
│   ├── Makefile
│   ├── conf.py
│   ├── deps.txt
│   ├── guide_installation.rst
│   ├── guide_model.rst
│   ├── guide_transliteration.rst
│   ├── index.rst
│   ├── make.bat
│   └── module_trans.rst
├── indictrans
│   ├── __init__.py
│   ├── _decode
│   ├── _utils
│   ├── base.py
│   ├── iso_code_transformer.py
│   ├── libindic_
│   ├── mappings
│   ├── models
│   ├── polyglot_tokenizer
│   ├── script_transliterate.py
│   ├── test.py
│   ├── tests
│   ├── transliterator.py
│   ├── trunk
│   └── unicode_marks.py
├── requirements.txt
├── setup.cfg
├── setup.py
├── test-requirements.txt
└── tox.ini
其中子文件夹indicatrans/models如下所示

├── ben-eng
│   ├── classes.npy
│   ├── coef.npy
│   ├── intercept_final.npy
│   ├── intercept_init.npy
│   ├── intercept_trans.npy
│   └── sparse.vec
├── ben-guj
│   ├── classes.npy
│   ├── coef.npy
│   ├── intercept_final.npy
│   ├── intercept_init.npy
│   ├── intercept_trans.npy
│   └── sparse.vec
所以我有.npy和.vec文件要包含在项目中。 在my setup.py中,我试图通过include_package_data指令明确包含此文件夹模型,如:

setup(
    setup_requires=['pbr'],
    pbr=True,
    packages=find_packages(),
    include_package_data=True,
    package_data={'models': ['*.npy','*.vec']},
    ext_modules=cythonize(extensions)
)
在setup.cfg中,我有

但是运行python setup.py安装不会将models文件夹复制到安装文件夹/usr/local/lib/python2.7/dist-packages/indicatrans/

如果我打印文件,它就是我得到的find_包的输出

因此,我假设将包括indicatrans/模型,但事实并非如此

将include\u package\u data=True添加到您的设置函数中—您已经这样做了。 在与setup.py相同的目录中创建文件MANIFEST.in MANIFEST.in可以如下所示:

include indictrans/models/ben-eng/*
include indictrans/models/ben-guj/*
执行此操作不需要setup.cfg

资料来源:

关于递归的编辑包括: 根据这一点,我们还应努力:

recursive-include indictrans/models *.npy *.vec
将include\u package\u data=True添加到您的设置函数中—您已经这样做了。 在与setup.py相同的目录中创建文件MANIFEST.in MANIFEST.in可以如下所示:

include indictrans/models/ben-eng/*
include indictrans/models/ben-guj/*
执行此操作不需要setup.cfg

资料来源:

关于递归的编辑包括: 根据这一点,我们还应努力:

recursive-include indictrans/models *.npy *.vec
include\u package\u data=True需要

要包含模块indicatrans.models的数据,您必须提供全名:

package_data={'indictrans.models': ['*.npy','*.vec']},
include\u package\u data=True需要

要包含模块indicatrans.models的数据,您必须提供全名:

package_data={'indictrans.models': ['*.npy','*.vec']},

谢谢它将递归工作,因此包括indicatrans/models/*或可能包括indicatrans/models/*/**?谢谢,它使用递归复制和MANIFEST.in.Thank工作。它将递归工作,因此包括indicatrans/models/*或可能包括indicatrans/models/*/**?谢谢,它使用递归副本和清单工作。在?中,使用包数据需要包含包数据+清单。在?中,它们是两种独立的方法。在?中,使用包数据需要包含包数据+清单。在?中,它们是两种独立的解决方法。