- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在开发一个 Python egg,它有几个 .txt 依赖项(它们是 egg 本身用来生成文件的模板),我正在努力将这些依赖项复制到 site-packages
在 setup.py install
期间。根据distribute
documentation ...
我的包的文件系统:
setup.py
package
|--- __init__.py
|--- main.py
|--- binary (calls main.py with pkg_resources.load_entry_point)
|--- templates
|--file1.txt
|--file2.txt
在 setup.py 中:
setup(
[...]
eager_resources = ['templates/file1.txt', 'templates/file2.txt']
)
在我的包裹中:
from pkg_resources import resource_string
tpl = resource_string(__name__, 'templates/file1.txt')
...这种配置和文件系统的组合应该导致 file1.txt
和 file2.txt
通过 pkg_resources.resource_string
可用。不幸的是,在 setup.py install
期间,它们没有被复制到 site-packages
。我错过了什么?
谢谢!
最佳答案
可以在安装工具文档中找到包含包数据的信息:https://setuptools.readthedocs.io/en/latest/setuptools.html#including-data-files
基本上,您只需在 setup.py 文件中设置 include_package_data=True
。如果您使用的是 subversion 或 CVS,所有版本控制的文件都将包含在内。如果没有,您可以指定要包含在 MANIFEST.in 文件中的文件。
我相信 distribute 也支持这一点。
然后您可以像没有打包文件一样访问这些文件。即在 main.py 中你可以:
import os.path
f = open(os.path.join(os.path.dirname(__file__),'templates','file1.txt'))
print f.read()
f.close()
这也适用于打包版本。需要注意的是,您还必须在 setup.py 中设置 zip_safe = False
,以便在安装过程中解压缩所有文件。
关于python - 使用 setuptools/distribute 打包资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1732619/
如果我有 distributed.Client我可以用它来关闭远程集群吗?即杀死所有 worker 并关闭调度程序? 如果使用 Client 无法做到这一点例如,除了手动杀死每个远程进程之外,还有其他
我对使用 Dask Distributed 作为任务执行器很感兴趣。 在 Celery 中,可以将任务分配给特定的 worker 。如何使用 Dask Distributed? 最佳答案 有2个选项:
我正在创建我的第一个应用程序,并且对 Ad Hoc 配置文件和开发配置文件有些困惑。我知道这个问题是在此之前提出的,但需要一些澄清和确认。 查看之前关于 stackoverflow 的答案,我认为存在
我正在尝试确定如何计算两个 torch.distribution.Distribution 对象的 KL 散度。到目前为止,我找不到执行此操作的功能。这是我尝试过的: import torch as
这听起来(比方说)幼稚,但我不知道我应该为移动 (iOS) 应用使用哪个证书。 显而易见的选项是 iOS 分发证书,但在 Apple 分发证书上,解释是: ...For use with Xcode
问题: 我的数字范围是 1 到 20,000。我想从范围内采样 8 个不同数字的均匀分布,1000 次。每个分布不应有重复的数字。此外,1000 个分布中的每个分布都必须是唯一的(在对所有获得的分布进
我对 dask 文档中的并发 future 要点有疑问:https://gist.github.com/mrocklin/ef9ccd29a6ec5f4de84d6192be95042a 当我们实例化
完成 DASK 代码后,我不断收到“distributed.utils_perf - 警告 - 完整垃圾收集最近占用了 19% CPU 时间”警告消息。我正在使用 DASK 进行大型地震数据计算。计算
场景:S3 存储桶有 1000 个文件。我有两台机器。每台机器都有两个驱动器/dev/sda 和/dev/sdb。限制:没有一个单独的驱动器可以容纳所有 1000 个文件。没有一台机器可以容纳所有 1
我已将一个项目导入 android studio 3.5,但在与 Gradle 文件同步时遇到此错误 指定的Gradle发行版'https://services.gradle.org/distribu
在 Android Studio 中创建项目时,我收到以下错误消息。 Failed to import new Gradle project: Could not install Gradle dis
在android studio 2.3.2 中运行项目时显示 Error:Could not run build action using Gradle distribution 'https://s
我正在将项目中的 gradle 版本从 1.7 升级到 4.2.1。我已将 Intellij 设置为导入 gradle 项目,但是当我单击“刷新所有 Gradle 项目”时,出现以下错误 Gradle
对于一个独特的商品销售数据库,如果我们使用顺序一致性,我们就可以保证,例如,这个独特的商品永远不会被重复卖给不同的人。因果一致性能保证我们做到这一点吗? 如果有一些销售同时开始/结束,系统会中断吗?
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 9年前关闭。 Improve this q
我正在使用J2ME为Nokia手机编写应用程序。 我想知道如何分发我的诺基亚应用程序。 最佳答案 分发有两个步骤 1.)使您的应用程序签名 您需要对您的应用进行签名,以便可以将其安装在诺基亚手机上。签
顺序一致性 The result of any execution is the same as if the operations of all the processors were execut
我知道三阶段提交是为了解决“两阶段提交”的问题,当在第二阶段协调器和群组同时失败时,不可能知道协调器是否决定了提交消息。 显然,三阶段提交旨在通过添加一个额外的阶段来解决这个问题。但是,如果协调器和队
我一直在研究 a project ,它是应用服务器和对象数据库的组合,目前仅在单台机器上运行。前段时间看了a paper它描述了一个分布式关系数据库,并获得了一些关于如何将该论文中的想法应用到我的项目
我想堆叠这种类型的数据集: PATIENT_ID AA BB CC DD EE 1 22 33 44 55 66 2 77 88 99 10 11 ..
我是一名优秀的程序员,十分优秀!