问题标签 [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.

0 投票
0 回答
235 浏览

python - 在 Python 运行时添加入口点

我想使用 setuptools 入口点将方法组订阅到来自通信通道的消息。

这很容易通过在你的setup.py. 但我不确定是否可以在程序运行时添加更多入口点。

是否可以向已经运行的应用程序添加新的入口点?

我试图在交互式会话中添加一个新的“假” setuptools 命令:

但是我的新入口点不存在于打印的对象中。难道我做错了什么?

0 投票
0 回答
674 浏览

python - 调用 Pkg_resources.resource_string 时出错

我有点困惑。我正在开发一个 Python 项目,在该项目中加载资源文件,将其作为 tsv 读取并将其转换为以模式对象为键的字典,以供以后使用。为了加载文件,到目前为止,我使用了 setuptools 中的 pkg_resources 包。它基本上看起来像这样:

到目前为止,它运作良好。但是,一旦我开始从另一个模块调用该模块,就会出现以下错误:

现在我猜我的项目设置有问题,所以它的结构是这样的:

有什么问题?顺便说一句,不确定是否需要子文件夹中的 __init__.py。

0 投票
2 回答
1364 浏览

python - 如何从`src/`目录下的python包访问项目根目录中的文本文件

我希望我的包的版本号位于一个地方,所有需要它的东西都可以引用它。

我在此 Python guide to Single Sourcing the Package Version中找到了一些建议,并决定尝试 #4,将其存储在我的项目根目录中名为VERSION.

这是我项目目录树的缩短版本(您可以在 GitHub 上查看完整项目):

因为VERSIONsetup.py是兄弟姐妹,所以很容易阅读安装脚本中的版本文件并用它做任何我想做的事情。

但是不是兄弟姐妹VERSIONsrc/fluidspaces/__main__.py主模块不知道项目根目录的路径,所以我不能使用这种方法。

该指南有这样的提醒:

警告:使用这种方法,您必须确保 VERSION 文件包含在您的所有源代码和二进制发行版中(例如,将 include VERSION 添加到您的 MANIFEST.in)。

这似乎是合理的 - 而不是需要项目根路径的包模块,版本文件可以在构建时复制到包中以便于访问 - 但我将该行添加到清单中并且版本文件似乎仍然没有显示在任何地方构建。

要构建,我pip install -U .从项目根目录和 virtualenv 内部运行。以下是在其中创建的文件夹<virtualenv>/lib/python3.6/site-packages

我的更多配置文件:

清单.in

设置.py

我发现了这个 SO question Any python function to get “data_files” root directory?这让我认为pkg_resources图书馆是我问题的答案,但我无法弄清楚如何在我的情况下使用它。

我遇到了麻烦,因为我发现的大多数示例都直接在项目根目录中包含 python 包,而不是在src/目录中隔离。src/由于以下建议,我正在使用目录:

我发现并尝试稍微扭曲的其他旋钮是package_data,include_package_datadata_fileskwargs setup()。不知道它们有多相关。似乎用这些声明的事物与清单中声明的​​事物之间存在一些相互作用,但我不确定细节。

0 投票
1 回答
3173 浏览

python-3.x - Python pkg_resources 和包中的文件访问

我正在构建我的第一个 python 包(然后我用 pip 安装),我需要使用一些非 python 文件。在这些答案中,解释了我应该使用该pkg_resources功能。但我想不出一个可行的例子。假设我有这个项目结构:

现在我想访问conf.ymlimage.pngfile.py. 我应该如何进行:

  • 文件.py ?
  • 设置.py ?
  • 清单.in ?
0 投票
1 回答
1321 浏览

python - 导入 google.cloud.datastore 时出现“ImportError:没有名为 pkg_resources 的模块”

我正在尝试使用 Google Cloud Datastore,但导入 google.cloud.datastore 会出现 ImportError:

我在 Linux Mint 上尝试运行 Google App Engine 本地开发服务器。

我正在使用虚拟环境。setuptools 和 pkg_resources 都在虚拟环境中安装和更新。当我从虚拟环境和 输入 python cmd 行解释器时import pkg_resources,它工作正常。当我运行 google app engine dev server 时dev_appserver app.yaml,一切正常,直到我访问激活导入数据存储的处理程序的页面,然后我收到此错误。

关于“pkg_resources”导入错误的其他类似帖子都没有帮助。

如果我可以提供任何其他信息对您有帮助,请告诉我。谢谢!

0 投票
1 回答
482 浏览

python - 来自 setuptools (pkg_resources) 的错误

在尝试本地安装 python rpm 时(在目录中~/.local/

python setup.py install --user

我得到错误:

在第 701 行检查 fileeasy_install 后,我发现 Requirement 类产生了从 pkg_resources 导入的错误

我发现里面的文件夹:/usr/lib/python2.7/site-packages/ 存在:

  1. /usr/lib/python2.7/site-packages/pkg_resources.py
  2. /usr/lib/python2.7/site-packages/pkg_resources/

在 pkg_resources.py 类里面需要 4 个参数

而类要求来自

需要 2 个参数

如何卸载文件夹:

我可以删除它的内容吗?

0 投票
0 回答
829 浏览

python - 缺少 pkg_resources.py31compat

我试图设置一个 virtualenv 并且我有 setuptools (39.0.1)。我得到了

我在其他地方读到安装最新的 setuptools 应该可以解决这个问题。但显然,它没有奏效。

请帮忙。

(评论中的其他信息)

0 投票
1 回答
453 浏览

python - 查找 pip 包:pkg_resources 指定自定义目标目录

有没有办法为 pkg_resources 指定一个自定义目标目录来列出 pip 包?我希望能够使用已经使用自定义目标目录提供的--target类似东西来查找已安装在自pkg_resources.require()定义目标目录中的包。

我不想要的是使用:

  • setuptools.find_packages因为它只使用sys.path
  • setuptools.PEP420PackageFinder.find
  • 通过遍历目录名称和文件来查找包也没有帮助,因为我需要一种更通用的方法来查找包命名空间。

我很感激这方面的任何帮助。

0 投票
1 回答
431 浏览

python - 没有“pkg_resources”的入口点和控制台脚本?

当我安装pip(例如使用venv)时,<venv>/bin/pip如下所示:

它们对应的入口点定义为"pip=pip._internal:main"

当我安装我的app(例如使用venvand pip install -e .)时,<venv>/bin/app如下所示:

我相应的入口点定义为'app=app:main'.

为什么会有这样的差异?我想避免pkg_resources在生成的脚本中使用与使用相同的方法pip。如何做到这一点?

0 投票
2 回答
303 浏览

python - 测试 Google Street View Publish API 时出现“pkg_resources.DistributionNotFound: google-gax”

我正在测试 Google Street View Publish API,所以我安装了库gapic-google-maps-streetview_publish-v1,然后我尝试运行Python 代码示例来上传照片。

在行中:

from google.streetview.publish.v1 import street_view_publish_service_client as client

代码引发错误:

pkg_resources.DistributionNotFound: google-gax

根据我的包列表,google-gax==0.15.16 包含在 gapic-google-maps-streetview_publish-v1 的安装中。我已经尝试更新到 0.16.0 但它也不起作用。

有什么提示可以解决这个问题吗?

编辑: