【问题标题】:How to include txt file within pip(pypi) module如何在 pip(pypi) 模块中包含 txt 文件
【发布时间】:2019-08-16 13:35:30
【问题描述】:
我创建了一个 pip 模块并将该模块安装在 jupyter notebook 中。
由于以下原因,有一个功能无法正常工作。
我创建了一个 pip 模块,在这个模块中我还有一个文本文件,其中包含工具箱所需的一些信息。
但是当我创建pypi模块时,这个txt文件没有转换成python轮子,现在安装后这个txt文件找不到了。
有没有办法在这个模块中包含一个txt文件,或者我需要把这个txt文件转换成另一种格式(.csv?)。
【问题讨论】:
标签:
python
module
pip
pypi
【解决方案1】:
您可能在setup.py 文件中调用setuptools.setup 来打包您的代码。设置决定哪些文件包含在轮子中的逻辑是a little complicated。
在您的情况下,将.csv 的文件路径添加到package_data-list 就足够了:
from setuptools import setup
setup(
... # "name" and stuff
packages=['mypkg'], # root folder of your package
package_dir={'mypkg': 'src/mypkg'}, # directory which contains the python code
package_data={'mypkg': ['data/*.csv']}, # directory which contains your csvs
)
关于文档页面讨论的use MANIFEST, not package_data 参数,因为您使用wheel 来构建包,您应该没问题。 wheel 默认使用 bdist,与 package_data 配合使用效果很好。