问题标签 [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 投票
3 回答
12835 浏览

python - 为什么 `virtualenv` 找不到 `pkg_resources`?

我正在尝试在 Ubuntu 中使用 virtualenv 来安装本地虚拟 Python 环境。当我运行 shell 命令时:

它抛出一个它不能 import 的异常pkg_resources。但是当我打开一个 Python shell 并且from pkg_resources import load_entry_point它运行良好时。作为参考,完整的堆栈跟踪如下。

我尝试了这里提出的解决方案https://stackoverflow.com/a/10538412/42897但没有任何效果。

0 投票
1 回答
1552 浏览

python - pkg_resources.DistributionNotFound:金字塔==1.3a7

所以,几天前,我试图用金字塔启动 Django,并在我的技能之外使用一些网络魔法,结果搞砸了很多重要的事情。有一段时间我什至无法运行 python。我最终通过更改我的系统变量 PYTHONHOME 来解决这个问题。

现在我遇到了 pserve 的问题。当我运行 pserve development.ini --reload 我得到一个回溯:

关于寻找什么的任何建议?我有两个朋友可以运行一切,所以如果有什么我应该比较的,我可以做到。

谢谢!

0 投票
0 回答
180 浏览

python - pkg_resources.find_distributions("/dirpath with sdist zip file")

看来我无法从 pkg_resources.find_distributions("/dirpath with sdist zip file") 获取分发信息。

有人能给我一些启示吗?

0 投票
2 回答
4627 浏览

python - 从 egg 内部访问 python egg 中的文件

问题是试图获得有关如何执行此操作的确切说明。之前的尝试很少,似乎不是完整的解决方案:

将文件移动到包内的解决方案

以 zip 格式读取的解决方案

通过 get_distribution 访问元信息

手头的任务是读取有关运行程序的鸡蛋的信息。据我了解,有几种方法:

  1. 硬编码鸡蛋的位置并将其视为 zip 存档 - 可以,但不够灵活,因为如果文件移动到另一个位置,则需要对其进行编辑和重新编译

  2. 使用ResourceManager().resource_filename(__name__, filename)- 这似乎受到限制,因为我无法访问鸡蛋内的文件,但不能访问包内的文件。文件名中的“../../EGG-INFO/PKG-INFO”之类的符号在给出 KeyError 时不起作用。所以也不好。

  3. 使用dist = pkg_resources.get_distribution("dist_name")然后使用 dist 对象来获取信息,但我无法从文档中理解我应该如何指定我的分发名称?它找不到它。

所以,我正在寻找关于使用pkg_resources.get_distributionplus 的正确解决方案,如果最终有一个完整的解决方案可以从鸡蛋内部读取任何文件,那就太好了。

谢谢!

0 投票
1 回答
1554 浏览

python - 如何在 pkg_resources 中实现 resource_filename?

我写了一个包,它导入了分发 0.6.35pkg_resource提供的包。我导入是因为我需要它来获取内置数据的路径。但是,python3中没有内置,需要安装。关于这个,我有两个问题:pkg_resourceresource_filenamepkg_resource

  1. 为什么 Python3 没有pkg_resource在其官方发行版中提供?这是否意味着pkg_resource已弃用或Python3pkg_resource内置的替代包?

  2. 如果 Python3 没有替代包,我如何使用内置库pkg_resource编写自己的版本?resource_filename做起来容易吗?

谢谢!

0 投票
1 回答
2465 浏览

python - python:如何在运行时检查额外的要求?

我们的主应用程序有一些额外的功能,用户可以启用。这些功能在他们自己的目录中。这些功能可能需要额外的依赖。我正在考虑将它们放在一个requires.txt文件中。在运行时,我们想让人们知道该功能是否会中断。我目前正在考虑这样的事情:

这是正确的、蟒蛇式的做事方式吗?这有意义吗?

小更新:为什么如此复杂,而不是try: import ... except ImportError: ...像一个答案中建议的那样:

  1. 我们的插件可能有很多依赖项。创建如下所示的实际代码非常冗长。
  2. 某些插件可能需要特定版本的包。需要包装特定测试或pkg_resources无论如何都要使用的测试。所以这就是我上面的想法使用 pkg_resources 的原因。
  3. 我们想为可以运行的插件运行单元测试。在单元测试中处理 ImportError 并不好。拥有一个can_we_unit_test_this_plugin(plugin)函数会让事情变得更容易。

第二次更新:extra_requireinsetup.py呢?

  1. 人们经常想念安装那些。好吧,不好的借口。
  2. 我的愿景是,从上面提到的各个子目录中为各个功能setup.py加载直接。但这确实是下一步。extra_requirerequires.txt
0 投票
1 回答
1130 浏览

python - Python:写入包中的文件?

使用这个一般结构:

我有一个将名称列表保存到的脚本client.log,因此我不必在每次需要访问它或运行模块时重新初始化该列表。在我用 设置这个结构之前pkg_resources,我使用了open('.../data/client.log', 'w')显式路径更新日志,但这不再起作用。

有没有办法在模块中编辑数据文件?或者有没有更好的方法来保存这个列表?

0 投票
1 回答
223 浏览

python - Python setuptools 入口点和子应用程序作为子进程

我在 Windows 上工作并开发一个将分发给最终用户的应用程序。

我有一个 setupttools 发行版,其中包含大量 python 包。此发行版声明了一些指向我代码中各种函数的 console_scripts 入口点。

这些入口点之一注定是更新程序应用程序。我目前正在使用子进程将其作为子进程启动并指定 python 脚本的完整路径。

我想做的是使用生成的 setuptools 入口点存根可执行文件作为要启动的子进程。

我可以通过以下方式获取子应用程序的入口点:

这给了我它的python函数。有没有办法从这个函数到我的 venv 中生成的 setuptools 脚本包装器?

感谢您的帮助。

0 投票
1 回答
84 浏览

beautifulsoup - 美丽的汤和 pkg_resources

我正在尝试使用美丽的汤。我按照说明安装在我的 mac 终端 easy_install 中,虽然过程似乎很顺利,但当我尝试从 bs4 导入时,出现 ImportError,说这样的模块不存在。

我用谷歌搜索它,经过几次尝试,我的终端说为了使用漂亮的汤,我应该以某种方式从 pkg_resources 中要求该包。

“因为安装了这个发行版--multi-version,在你可以在应用程序中从这个包中导入模块之前,你需要'import pkg_resources'然后使用类似于这些示例之一的'require()'调用,在为了选择所需的版本:

pkg_resources.require("beautifulsoup4") # 最新安装的版本"

因此,我尝试导入 pkg_resources ,但这也导致了死路。我不知道该怎么办。

0 投票
1 回答
165 浏览

python - 如何使源代码控制的 pip 包满足其他包的要求

从存储库安装包时,会pip freeze生成该包的存储库路径,而不是包名称/版本。例子:

当另一个应用程序需要这样的包时,它似乎无法识别。例子:

应该如何避免此类问题?