问题标签 [pip]

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 投票
1 回答
3302 浏览

python - Python pip - 安装包的文档?

有没有办法为使用 pip 安装的软件包安装/生成文档?

我希望安装项目所需的所有包,以及所有相关文档(例如,安装 django 时的 Django 文档、带有 dateutil 的 dateutil 文档等)。

Pip 需求文件是快速安装项目所需包的好方法,但如果我也可以安装所有相关文档会更好。

Ubuntu Python 软件包将文档安装到 /usr/share/docs,但 pip 似乎没有这样做。

当我需要离线处理项目时,这些包的文档对我来说很重要。

0 投票
4 回答
7655 浏览

python - 在 OSX Snow Leopard 上安装 IPython 以使用非默认 python 版本(即 python2.6.6/python2.7)

好的,伙计们,这很棘手,我什至在 IPython 网站上都没有找到合适的解决方案。

我正在开发 OSX Snow Leopard。我已经使用 easy-install 安装了 IPython,以及所有其他基本附加组件:

$ sudo easy-install readline pexpect nose ipython

一切正常并正确安装。

问题是 IPython 使用 python 2.6.1 解释器,但我想使用 python 2.6.6 或 python 2.7。这是必要的,因为我使用的是“pygame”模块,它只适用于我的 python 2.6.6 安装。

我怎样才能做到这一点?提前致谢。


另一种解决方案:

(除了已经接受的答案,顺便说一句,谢谢。)

我只是pip习惯pip uninstall ipython然后sudo pip install ipython。这将它安装在我最新的 python 版本上。不过感谢其他版本!我已经开始使用pip我所有的 python 安装必需品,而不是easy_install最近。

0 投票
2 回答
240 浏览

django - 如何在不升级到每个上游版本的情况下使用基于 virtualenv 的部署方法?

上周五,我为我的 Django 项目构建了一个 RPM 规范。RPM 创建一个virtualenv,通过下载依赖项pip并将所有内容放入包中。今天,我发现 BeautifulSoup 3.2 已经发布了。幸运的是,我将 BeautifulSoup 版本固定在 requirements.txt 中,所以我发现是因为构建失败。

现在完全不同的事情是:我如何避免将来升级东西?BeautifulSoup 已经从 PyPI 中删除了所有以前的版本,所以我无法下载我实际测试过的版本。pip的下载缓存在这里也无济于事,因为pip总是先尝试检查 PyPI。

你能推荐一些东西来避免这种情况吗?

0 投票
6 回答
78103 浏览

python - 知道如何在 Windows 框中更新 python PIP 吗?

pip install --upgrade pip不起作用,因为 Windows FS 脑部受损,不会让您删除打开的文件。

我尝试将我的环境设置为我想要更新的 virtualenv,然后从不同的 pip 运行,但是失败了:

我希望其他人已经想出了解决这个问题的方法。在linux上没问题......

0 投票
1 回答
3721 浏览

python - 如何让 pip install 的 -I 标志与需求文件一起使用?

我觉得必须有一种方法可以做到这一点,但对于我的生活,我无法弄清楚如何:我想对 virtualenv 中的需求文件运行 pip 以便无论在我之前的 virtualenv 中有什么包运行pip,我运行后完全满足需求文件(包括特定版本)。

现在的问题是,如果我在 virtualenv 中安装的软件包版本比需求文件中列出的旧版本的软件包,它会抱怨版本不匹配并退出(它应该只是将软件包更新到给定版本)。我正在运行的命令是pip install -I -r requirements.txt根据 pip 的帮助,-我应该让 pip “忽略已安装的软件包(而不是重新安装)”,但它绝对没有这样做。

我错过了什么?

(如果 pip 也跳过了已经完成的包,那就太好了。)

0 投票
6 回答
19794 浏览

django - 使用 libjpeg 在 vi​​rtualenv 上安装 pil

目前我正在将 PIL 安装到我的虚拟环境中,如下所示:

其中 requirements.txt 包含:

我目前可以上传 png 图像,但不能上传 jpeg 图像。从网上阅读看来我可能需要 libjpeg 解码器?我是否错误地安装了 pil?在带有 libjpeg 的虚拟环境中为 django 安装 pil 的正确方法是什么?

0 投票
4 回答
10341 浏览

python - pip 和 virtualenv 有什么好处?

所以每个人都告诉我使用 pip 和 virtualenv ,但没有人能够向我解释它比我目前的方法更好。人们使用 pip 和 virtualenv 的主要原因似乎是其他人都在使用它......

我确信使用 PIP 和 virtualenv 有很好的理由,但我无法通过 Google 找到它们。我希望来自 stackoverflow 社区的人能够向我解释它们。

以下是我目前组织 Django 项目的方式:

整个站点文件夹都在我的存储库中检入(是的,包括所有仅 python 的依赖项,例如 django 本身)。

所有非仅 python 的依赖项(PIL、psycopg2、...)都记录在自述文件中并安装在系统级别(apt-get install ....)

例如,假设我有一个项目名称“projectfoo”,它依赖于 django-1.2.3、pygeoip-0.1.3 和 psycopg2,我将拥有:

现在在实践中这与 PIP/virtualenv 相比如何?

用我目前的方法部署项目

使用 PIP/virtualenv 部署

用我目前的方法处理一个项目

使用 PIP/virtualenv 处理项目

处理非仅 python 依赖项

非python-only依赖项将以相同的方式处理,我无法使用--no-site-packagesvirtualenv 选项并在我的服务器上安装编译器和所有构建依赖项,我认为实际上没有人这样做反正。

使用我当前的方法升级仅 python 的依赖项

我在 src 中签出/解压缩新版本,从 src 中删除旧版本,更新 lib 中的符号链接并提交。现在从事该项目的其他所有人都将在他们的下一个svn upgit pull. 不好的一件事是,如果 src 中的旧文件夹包含一些 pyc 文件,它将保留,这可以通过在更新本地副本之前删除所有 pyc 轻松避免。

使用 PIP/virtualenv 升级仅 python 的依赖项

您提交了一个新版本的需求文件,希望每个参与该项目的人在更新本地副本并运行pip install -E projectfoo-venv -r requirements.txt.

编辑:我在 pip 中删除了 -U 的使用,这在 pip 8.2 中不需要

编辑:与我目前的方法相比,pip/virtualenv 的唯一优势似乎是当您处理需要不同版本的 python 的不同项目时。但是根据我的经验,当你需要不同版本的 python 时,你还需要不同版本的其他系统库(PIL、psycopg2、...),而 virtualenv 对此无济于事(除非你足够疯狂地使用 -- no-site-package 选项,即使那样它也不完整)。对于这种情况,我能想到的唯一解决方案是使用不同的虚拟机。

那么我错过了什么?有人可以指出一个 PIP 或 virtualenv 比我正在做的更好的用例吗?

0 投票
2 回答
882 浏览

python - Google App Engine 上的 Python Eggs

通常我会使用virtualenvandpip来部署 Web 应用程序。使用 Google App Engine 这不起作用,因为所有import语句都与应用程序的目录相关。

我看到的最常见的方法是简单地将包复制site-packages到应用程序的目录中。这涉及手动工作并且容易出错。

另一种方法是更改install_lib​​和install_scriptsin ~/.pydisutils.cfg,但这不允许我pip同时在我的主目录中使用。

你对此有什么建议吗?

0 投票
10 回答
960862 浏览

django - 如何使用 pip 和需求文件升级特定软件包?

我在我的 Django 项目中使用 pip 和一个 virtualenv 中的需求文件。我正在尝试升级一些软件包,尤其是 Django 本身,并且我收到有关源代码冲突的错误:

>/build/Django 中的源<virtualenv具有与 Django==1.2.4 冲突的版本 1.2.3(来自 -r requirements/apps.txt(第 3 行))

那是在我的需求文件中将 Django 的版本号从 1.2.3 更新到 1.2.4 之后。我正在使用这个命令来实际进行升级:

我找不到任何触发总包重新下载的标志。我什至尝试先运行卸载命令,然后安装,但没有骰子。我错过了什么吗?

0 投票
1 回答
461 浏览

python - 如何在 pypi 上为多个版本的 Python 分发 Windows 的预编译扩展模块?

我想为 Python 2.6 和 Python 2.7 分发一个预编译的 C 扩展模块,用于 32 位和 64 位版本的 Python。我应该如何在 pypi 上构建和分发它?我应该只使用 bdist_egg 吗?我可以保留与 pip 的兼容性吗?

我注意到普通的 bdist 只是创建一个.zip不包含 Python 版本的,尽管内部文件夹结构包含。这可以.zip只包含例如 Python26 和 Python27 子目录吗?