python - 子模块中包含的文件不会复制到 virtualenv 中
问题描述
我的 python 模块“suricate”有三个以 csv 格式存储的示例数据集。它们用于测试和示例。文件结构如下:
~/Projects/suricate/data/companydata在 companydata
我有文件:
__init__.py //which is empty
left.csv
right.csv
trainingdata.csv
当我使用 pip 在虚拟环境上安装此模块时,我有以下文件结构:
~/anaconda3/envs/myenv/lib/python3.7/sites packages/suricate/data/companydata
在 companydata 我有文件:
__init__.py
三个 csv 文件丢失
我能做些什么来确保 virtualenv 复制以及平面 csv 文件?
预期:Virtual Env 文件夹中的包具有与本地文件夹中相同的平面文件
Virtual Env 文件夹中的实际包包含所有 *.py 文件,但不包含 *.csv 文件
解决方案
您需要修改 setup.py 并在其中添加您需要的包和文件名
setup(...,
packages=['mypkg'],
package_dir={'mypkg': 'src/mypkg'},
package_data={'mypkg': ['data/*.csv']},
)`
像这样的东西。在包中给出 csv 文件的相对路径,添加所需的包
推荐阅读
- react-native - 如何在 expo 项目中导入外部打字稿文件
- streamlit - 在 Heroku 上部署时 Python Streamlit 应用程序崩溃
- java - 在耶拿创建个人或属性时使用数据集
- node.js - Kubernetes NAT 流服务器 - 连接被拒绝
- javascript - Angular 单选按钮使用 ngFor 显示错误数据
- python - 如果我只切出 1 列与切出多列,为什么 numpy 的行为会有所不同?
- node.js - fs Nodejs从远程url读取数据_捕获流
- java - charAt 给出一个不存在的值
- html - 当我只使用 CSS 和 HTML 时,内容在加载时跳跃
- javascript - 如何查找已动态创建且存在于另一个元素中的选择下拉列表的值和 ID