问题标签 [pkg-resources]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何使用 setuptools 访问所有安装和分发案例中的数据文件?
我有点迷失在所有可以添加数据文件的位置。首先,有MANIFEST.in
文件。据我了解,这只是为了指定要包含在“源代码分发”中的源文件。然后是函数的data_files
参数setup()
,您可以在其中列出应该安装的文件,但它来自根目录(无论是/
,还是~user/.local
)。最后,有package_data
一个假装做我想做的事......但在 bdist 上,我看不出有什么不同data_files
我有一个数据文件,比如“default_conf.cfg”。
我的MANIFEST.in
包含:
我的setup.py
:
当我执行 a./setup.py sdist
时,包含该文件,与./setup.py bdist
(如预期的那样)相同
但是,如果我尝试安装为可编辑包 ( pip install --user -e .
),我无法访问它pkg_resources.resource_string(__name__, 'default_conf.cfg')
我缺少什么能够从分发/安装中的任何类型访问它?
(文档非常冗长,信息分散在几个页面中,因此很容易遗漏一些内容。)
编辑
我把我的数据文件作为我模块的子目录,它似乎更好:
设置.py:
但是,当我尝试时pip install --user -e .
,.egg-link 的内容是/.../my_pkg/build/lib
而不是/.../my_pkg
,那么当然,它不是实时可编辑的......为什么 setuptools 使用这个路径?
python - 为什么要在本地范围内执行代码只是为了更新全局范围?
在pkg_resources
模块中你有这个奇怪的功能:
这_call_aside
是一个像这样定义的装饰器,它在定义时调用一次函数(为什么要使用装饰器而不是简单地显式调用函数,我不知道):
该函数_initialize_master_working_set
不会在其他任何地方调用,名称上的下划线表明它不适合公共重用。文档字符串进一步警告不要调用:
此函数 ... 旨在在此模块初始化时调用一次。不支持其他包调用
我不明白。这不只是在模块范围内执行“一堆丑陋的代码”的一种混淆方式吗?这种模式与直接在全局范围内执行代码有何不同?
python-3.6 - 无法对未注册的加载程序类型执行此操作 - pyinstaller 不支持 pkg_resources 是否有任何解决方法?
我是 pyinstaller 的新手,当我尝试使用我的应用程序导入文件时出现此错误(NotImplementedError: Can't perform this operation for unregistered loader type)。
完整的回溯是:
我做了一些研究,发现 pyinstaller 不支持 pkg_resources。有没有解决这个问题的方法?
python - python中pkg_resource中resource_filename的参数
我不明白 pkg_resource.resource_filename() 究竟是如何工作的,它的参数是什么。我在网上搜索了很多,但他们的官方文档并没有很好地涵盖它。有人可以解释一下吗?
pip - 脆弱的控制台脚本:pkg_resources.DistributionNotFound
如果我通过 setup.py 中的 entry_point 创建 console_scripts,则会创建此文件:
不幸的是,这个脚本很脆弱。
有时我会遇到这样的异常:
有没有办法让我的脚本 ( do-magic
) 更成熟?
在这种情况下:它不需要 PyPDF2。
python - 从 pexpect 运行已安装的软件包
我已经下载了pyocd并成功构建了它。现在我可以从任何位置从命令行运行该工具。但是,当尝试使用 pexpect 运行它时,它会显示以下错误:
请帮助理解什么是错误的以及为什么它可以从命令行工作?
python - 如何使用 pkg_resources 搜索已安装模块目录之外的文件?
认为:
这是我的文件夹结构。我想找到dbfile
,我在其他目录中。如何pkg_resources
在 python 中使用来查找dbfile
使用已安装模块的位置installed_module
?
我尝试使用 pkg_resources.resource_filename('installed_module', dbfile) 来获得一些不是我所期望的路径。
python-3.x - 有没有办法定义资源目录(不仅仅是文件名)以在 Python 中使用 pkg_resources 进行提取?
我正在查看pkg_resources
文档(https://setuptools.readthedocs.io/en/latest/pkg_resources.html)并尝试实现类似的对象resource_filename
,但我只想要文件所在的资源目录。我定义这是其他地方的默认设置,比如在setup.py
什么地方?
此外,如果存在这样的路径对象,那么使用它而不是仅仅使用一个os.path
对象有什么好处吗?
这个包如何包含方法resource_isdir
,resource_listdir
当没有办法真正使资源成为 a 时dir
?
tensorflow - TF 2.0 TensorBoard 2.0.2 ValueError:名称投影仪的重复插件
我的张量板有一些问题,当我开始启动它时,它会引发错误:
我关注了这条评论,我的系统上似乎安装了 2 个张量板:
输出是:
正如评论所说,我应该删除一个(所以我猜-ensorboard 2.0.1
)。但我该怎么做呢?谢谢你。
python - 未安装 setup.py 包捆绑文件
我有一个文件正确显示在源代码分发和轮子中,但安装时它没有出现在站点包中。
我的项目结构如下所示:
有问题的文件是config/log.ini
.
我的设置如下所示:
这是结果oauc-0.0.1.tar.gz
:
看起来不错。
但是,当我使用pip install src/dist/oauc-0.0.1.tar.gz
(src 是项目目录的符号链接)安装时,生成的安装venv/lib/python3.7/site-packages/oauc
不包含该文件:
我认为它应该在那里。在我的初始化文件中:
调用pkg_resources.resource_filename(__name__, 'config/log.ini')
返回venv/lib/python3.7/site-packages/oauc/config/log.ini
。
如何使log.ini
与包捆绑在一起的文件在运行时可访问,以及如何找到他的位置?