python - 如何在 pip(pypi) 模块中包含 txt 文件
问题描述
我创建了一个 pip 模块并将该模块安装在 jupyter notebook 中。
由于以下原因,有一个功能无法正常工作。
我创建了一个 pip 模块,在这个模块中我还有一个文本文件,其中包含工具箱所需的一些信息。
但是当我创建pypi模块时,这个txt文件没有转换成python轮子,现在安装这个txt文件后找不到。
有没有办法在这个模块中包含一个 txt 文件,或者我需要把这个 txt 文件转换成另一种格式(.csv?)。
解决方案
您可能正在调用setuptools.setup
您的setup.py
文件来打包您的代码。设置决定哪些文件包含在轮子中的逻辑虽然它大部分是开箱即用的,但有点复杂。
.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
)
关于使用MANIFEST
,而不是package_data
文档页面所讨论的论点,因为您使用wheel
构建包应该没问题。wheel
默认情况下使用 bdist,它适用于package_data
.
推荐阅读
- node.js - 使用“npm audit”时如何只检查高漏洞?
- javascript - jQuery单击多个ID并获取值
- c++ - 在 allegro5 (C++) 中的另一个图像上的图像
- python-3.x - 在 Keras 中使用 LSTM 预测时间序列数据
- ubuntu - 睡眠和时钟方法
- php - 如何在我的 mvc 应用程序中查看 php 页面
- autodesk-forge - 为什么我在使用模型衍生 API 时看不到所有 .pf(图形)文件
- python - 无法将数据插入数据库,但每次运行它都会返回成功
- android - 无法使用使用 Retrofit 2 检索的对象在 MutableLiveData 中设置值
- java - 批处理 - 处理大量数据