如何在 pip(pypi) 模块中包含 txt 文件
How to include txt file within pip(pypi) module
我创建了一个 pip 模块并在 jupyter notebook 中安装了该模块。
由于以下原因,有一项功能无法正常工作。
我创建了一个 pip 模块,在这个模块中我还有一个文本文件,其中包含工具箱所需的一些信息。
但是当我创建 pypi 模块时,这个 txt 文件没有转换成 python 轮子,现在安装后找不到这个 txt 文件。
有没有办法在这个模块中包含一个 txt 文件,或者我是否需要将这个 txt 文件转换成另一种格式(.csv?)。
您可能在 setup.py
文件中调用 setuptools.setup
来打包您的代码。安装程序决定将哪些文件包含在控制盘中的逻辑是 a little complicated.
,虽然它大部分都是开箱即用的
在您的情况下,将 .csv
的文件路径添加到 package_data
-列表中应该就足够了:
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
.
配合使用效果很好
我创建了一个 pip 模块并在 jupyter notebook 中安装了该模块。
由于以下原因,有一项功能无法正常工作。
我创建了一个 pip 模块,在这个模块中我还有一个文本文件,其中包含工具箱所需的一些信息。
但是当我创建 pypi 模块时,这个 txt 文件没有转换成 python 轮子,现在安装后找不到这个 txt 文件。
有没有办法在这个模块中包含一个 txt 文件,或者我是否需要将这个 txt 文件转换成另一种格式(.csv?)。
您可能在 setup.py
文件中调用 setuptools.setup
来打包您的代码。安装程序决定将哪些文件包含在控制盘中的逻辑是 a little complicated.
在您的情况下,将 .csv
的文件路径添加到 package_data
-列表中应该就足够了:
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
.