【问题标题】:Files contained in sub-module are not copied in the virtualenv [duplicate]子模块中包含的文件不会复制到 virtualenv [重复]
【发布时间】:2019-11-08 17:55:42
【问题描述】:

我的 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 文件

【问题讨论】:

标签: python setuptools


【解决方案1】:

你需要修改 setup.py 并在其中添加你需要的包和文件名

setup(...,
  packages=['mypkg'],
  package_dir={'mypkg': 'src/mypkg'},
  package_data={'mypkg': ['data/*.csv']},
  )`

类似的东西。在包中给出 csv 文件的相对路径,添加所需的包

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    • 2013-12-04
    相关资源
    最近更新 更多