子模块中包含的文件不会在virtualenv

时间:2019-06-26 18:04:11

标签: python setuptools

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

1 个答案:

答案 0 :(得分:0)

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

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

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