相关疑难解决方法(0)

如何找到Python包的依赖项

如何以编程方式获取Python包的依赖项列表?

标准setup.py有这些记录,但我找不到 Python或命令行访问它的简单方法.

理想情况下,我正在寻找类似的东西:

$ pip install somepackage --only-list-deps
kombu>=3.0.8
billiard>=3.3.0.13
boto>=2.26
Run Code Online (Sandbox Code Playgroud)

要么:

>>> import package_deps
>>> package = package_deps.find('somepackage')
>>> print package.dependencies
['kombu>=3.0.8', 'billiard>=3.3.0.13', 'boto>=2.26']
Run Code Online (Sandbox Code Playgroud)

注意,我不是在谈论导入包和查找所有引用的模块.虽然这可能会找到大多数依赖包,但它无法找到所需的最小版本号.那只存储在setup.py中.

python pip

75
推荐指数
7
解决办法
5万
查看次数

有没有办法列出pip依赖/需求?

如果不进行安装,我想快速查看pip install将要安装的所有软件包.

python pip

74
推荐指数
6
解决办法
5万
查看次数

63
推荐指数
2
解决办法
4万
查看次数

如何通过PIP查看依赖于某个包的所有包?

我想看一个依赖于某个包含PIP的软件包列表.也就是说django,我希望看到django-cms,django-filer因为我安装了这些软件包并且它们都具有django依赖性.

python pip package

24
推荐指数
4
解决办法
4260
查看次数

列出python包依赖项而不加载它们?

假设python包A需要B,C和D; 有没有办法列出A→BCD而不加载它们?
Requires在metadata(yolk -M A)中经常是不完整的,grr.
可以下载A.tar/A.egg,然后查看A/setup.py,但其中一些非常血腥.

(我认为至少可以获得一级依赖关系;即使是98%的解决方案也会比雪崩下载更好.)

一个相关的问题: pip-upgrade-package-without-upgra-dependencies

python dependencies packaging

22
推荐指数
3
解决办法
2万
查看次数

`pip` 等效于 `package.json' 和 `package-lock.json`

包管理器JavaScript喜欢npmyarn使用 apackage.json来指定“顶级”依赖项,并创建一个锁定文件来跟踪作为结果安装的所有包(即顶级子级依赖项)的特定版本。

此外,package.json允许我们区分顶级依赖项的类型,例如productiondevelopment

对于Python,另一方面,我们有pip。我想pip相当于一个lock-file 将是pip freeze > requirements.txt.

但是,如果您只维护这个单个requirements.txt文件,则很难区分顶级和子级依赖项(例如pipdeptree -r,您需要弄清楚这些)。如果您想删除或更改顶级依赖项,这可能会很痛苦,因为很容易留下孤立的包(据我所知,当您创建一个包时,pip 不会删除子依赖项pip uninstall)。

现在,我想知道:是否有一些约定来处理这些requirements文件的不同类型并区分顶级和子级依赖关系pip

例如,我可以想象有 arequirements-prod.txt只包含生产环境的顶级要求,作为 , 的(简化)等价物package.json,而 arequirements-prod.lock包含 , 的输出pip freeze,并充当我的 -lock文件。此外,我可以有一个requirements-dev.txt用于开发的依赖项,等等。

我想知道这是要走的路,还是有更好的方法。

ps 同样的问题可以问conda …

python dependencies pip requirements.txt conda

14
推荐指数
1
解决办法
4398
查看次数

python setup.py py2exe语法无效(asyncsupport.py,第22行)

这个命令在我的个人计算机上工作正常但在我的工作PC上一直给我这个错误.会发生什么事?我可以直接在Powershell中运行Char_Limits.py脚本而不会出现问题.错误:编译'C:\ ProgramData\Anaconda2\lib\site-packages\jinja2\asyncsupport.py'失败语法错误:语法无效(asyncsupport.py,第22行)

我的setup.py文件如下所示:

from distutils.core import setup
import py2exe

setup (console=['Char_Limits.py'])
Run Code Online (Sandbox Code Playgroud)

我的文件看起来像:

import xlwings as xw
from win32com.client import constants as c
import win32api

""" 
Important Notes: Header row has to be the first row. No columns without a header row. If you need/want a blank column, just place a random placeholder
header value in the first row.
Product_Article_Number column is used to determine the number of rows. It must be populated for every row.
"""

#functions, hooray!
def setRange(columnDict, …
Run Code Online (Sandbox Code Playgroud)

python py2exe

5
推荐指数
1
解决办法
6205
查看次数