Python 安装数据文件的完整目录
我正在尝试使用Python 安装数据文件的完整目录,python,setuptools,Python,Setuptools,我正在尝试使用setup.py和setuptools为我的项目构建一个包。一般搜索建议将数据文件放在我的python包下。 例如,project/src/package/data 但我的情况更符合事实 我的项目由一个Python控制台应用程序和一个HTML交互应用程序组成。现在(在setup.py之前),我让控制台应用程序使用特殊命令将HTML文件复制到特定目录。我在源代码管理中遵循这个目录结构 project |-+ console | |-+ package | |-- __
setup.py
和setuptools为我的项目构建一个包。一般搜索建议将数据文件放在我的python包下。例如,
project/src/package/data
但我的情况更符合事实
我的项目由一个Python控制台应用程序和一个HTML交互应用程序组成。现在(在setup.py
之前),我让控制台应用程序使用特殊命令将HTML文件复制到特定目录。我在源代码管理中遵循这个目录结构
project
|-+ console
| |-+ package
| |-- __init__.py, etc.
|-+ viz
|-+ css
|-+ js
|-- index.html
我不确定如何使用setup.py
和egg文件复制这种行为
viz
将被打包?package_data
选项似乎与包相关(意味着viz
应该放在包下)
所以,package_data={'':['viz/*']}
不是我想要的
我是否应该使用
pkg\u resources.resource\u filename
将viz
放入缓存,然后shutil
将文件复制到指定位置?还有更实际的替代方案吗
我考虑过改变整个结构,将
viz
转换成一个包,同时移动安装它的代码。结果是这样的
project
|-- setup.py
|-+ top-level-package
|-- __init__.py
|-+ console
| |-- __init__.py, etc.
|-+ viz
|-+ css
|-+ js
|-- index.html
|-- __init__.py
虽然这本可以奏效,但我发现这实际上符合我最初的目的setup.py
必须以package\u data
的形式递归复制文件(相对路径使用。
)
我刚刚将原来的控制台
和包
折叠成一个,因此Python包直接位于项目根目录下。这是我最后的结构
project
|-- setup.py
|-+ package
| |-- __init__.py, etc.
| |-+ private
| |-- ...
|-+ viz
|-+ css
|-+ js
|-- index.html
我考虑过改变整个结构,将
viz
转换成一个包,同时移动安装它的代码。结果是这样的
project
|-- setup.py
|-+ top-level-package
|-- __init__.py
|-+ console
| |-- __init__.py, etc.
|-+ viz
|-+ css
|-+ js
|-- index.html
|-- __init__.py
虽然这本可以奏效,但我发现这实际上符合我最初的目的setup.py
必须以package\u data
的形式递归复制文件(相对路径使用。
)
我刚刚将原来的控制台
和包
折叠成一个,因此Python包直接位于项目根目录下。这是我最后的结构
project
|-- setup.py
|-+ package
| |-- __init__.py, etc.
| |-+ private
| |-- ...
|-+ viz
|-+ css
|-+ js
|-- index.html