- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个目录结构大致如下的 python 包:
mossutils/
setup.py
mossutils/
__init__.py
init.py
data/
style.css
script.js
...
我的包的 setup.py
声明了 console_scripts
并包含了 package_data
文件:
setup(
name='mossutils',
packages=['mossutils'],
package_data={"mossutils": ["data/*"]},
entry_points = {
"console_scripts": ['mu-init = mossutils.init:main']
},
...)
通过 pip install
安装包按预期工作:所有内容都安装在我的 Python 的 Lib\site-packages
中,包括 data
目录以及其中的所有文件和脚本 mu-init
都可以从 shell 执行(或者更确切地说,命令提示符,因为我使用的是 Windows)。
脚本 mu-init
应该在调用它的当前工作目录中执行某种项目脚手架。特别是,它应该将所有 package_data
文件(data/style.css
、data/script.js
、...)复制到当前目录。
使用模块 pkgutil
,我可以读取文件的内容,例如
import pkgutil
...
data = pkgutil.get_data(__name__, "data/style.css")
有没有办法让我的 init.py
脚本迭代 data
目录的内容,不对文件名进行硬编码(在 init.py
中)?
能否将 data
目录中的文件复制到当前工作目录,无需打开源文件,读取内容,并将其写入目标文件?
最佳答案
您可以使用 pkg_resources
库获取目录中的文件列表,该库与 setuptools
一起分发。
import pkg_resources
pkg_resources.resource_listdir("mossutils", "data")
关于python - 迭代 package_data 文件并将它们复制到当前工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61531935/
背景 我正在开发一个目录结构大致如下的 python 包: mossutils/ setup.py mossutils/ __init__.py init.py dat
我正在使用 distutils 创建 Python (2) 包安装程序。在我的包中有几个二进制可执行文件,它们从我的 Python 代码中调用。我在我的 setup.py 文件中将它们列为 packa
在 setup.py 中,我这样指定 package_data: packages=['hermes'], package_dir={'hermes': 'hermes'}, package_data
在 Ubuntu 16.04 和 Windows 7(pip 18.1、python 2.7.15)上,我遇到了一个问题,我的包数据进入了 tar.gz 文件,但它们当我使用 pip 安装时,不会安装
我相信这个问题是asked before但我还是有 pip 卡住了。我正在尝试安装一个 Python 包,其中包含一些带有子目录的数据文件。这是我的设置: setup.py src/ mypk
当创建console_scripts作为entry_points时,如何访问包中的数据文件(package_data)? setup( # other stuff entry_poin
如何在没有 MANIFEST.in 文件的情况下为 sdist 包含 package_data? 我的 setup.py 看起来像这样: import setuptools setuptools.se
我正在尝试创建一个 Python 包,并且我的目录结构如下: mypkg/ ├── __init__.py ├── module1 │ ├── x.py │ ├── y.py │ └──
似乎非python资源包含在python分发包中的4种方式之一: Manifest.in 文件(我不确定何时优先于 package_data 或 data_files) package_data in
我不明白为什么当我运行 pip install ../path_to_my_proj/(从 virtualenv)时,没有任何数据文件被复制到 sitepackage/myproj/文件夹。 pyth
我正在尝试让我自己的 pip 包安装工作,但我在 package_data 中指定的附加数据中的子文件夹方面遇到了问题。一切似乎都很好(所有数据都包含在生成的 .zip 文件中),但是当我运行“pip
我是一名优秀的程序员,十分优秀!