我已经使用 pip 安装了一个 Python 包,它是 easy_install 的替代品。如何获取与此软件包关联的已安装文件的列表?
基本上,我正在寻找等效于的 Python 包
dpkg -L
Run Code Online (Sandbox Code Playgroud)
或者
rpm -ql
Run Code Online (Sandbox Code Playgroud) 我正在尝试将 django 安装到已经存在的 virtualenv。
按照此处pip-install 网站上列出的说明,我从 SSH 运行以下命令。
name@server:~$ . myenv.env/bin/activate
(myenv.env)nam@server:~$ pip install django
Run Code Online (Sandbox Code Playgroud)
但是在安装的底部,我看到了这个:
creating /usr/local/lib/python2.7/dist-packages/django
error: could not create '/usr/local/lib/python2.7/dist-packages/django': Permission denied
Run Code Online (Sandbox Code Playgroud)
看来它正在尝试将其安装到全局目录。我没有 sudo 权限。我在这里做错了吗?
更新: $PATH = /var/django/myenv.env/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
我在端口中搜索,除了 python27 的 pip 之外找不到其他 pip 安装包py27-pip-6.1.1。
哪种方式最适合在 FreeBSD 10.1 中为 python 3.x 安装 pip?
或者它是否包含在 python 3.4 中,而我还没有弄清楚是怎么回事?
我想安装 python 和 pip 的第 3 版,但发出了
sudo apt-get install python-pip python-dev
Run Code Online (Sandbox Code Playgroud)
我如何卸载 python 和 pip,我试过 sudo apt-get uninstall 但没有用,正确的命令是什么?
我正在尝试使用pip安装包carbon,一个与统计收集相关的包。当我运行时pip install carbon,看起来一切正常。但是,pip不相信该软件包确实已安装。(这最终会导致麻烦,因为我正在使用 Puppet,并且有使用 安装 carbon 的规则pip,当 puppet 询问pip“是否安装了此软件包?”时,它说“没有”并再次重新安装。)
我如何找出阻止 pip 识别此安装成功的原因?
这是常规安装的输出:
root@statsd:/opt/graphite# pip install carbon
Downloading/unpacking carbon
Downloading carbon-0.9.9.tar.gz
Running setup.py egg_info for package carbon
package init file 'lib/twisted/plugins/__init__.py' not found (or not a regular file)
Requirement already satisfied (use --upgrade to upgrade): twisted in /usr/local/lib/python2.7/dist-packages (from carbon)
Requirement already satisfied (use --upgrade to upgrade): txamqp in /usr/local/lib/python2.7/dist-packages (from carbon)
Requirement already satisfied (use --upgrade …Run Code Online (Sandbox Code Playgroud) 我有一个依赖于多个包的 Python 应用程序。不幸的是,其中一个包不在 PyPi 中,所以我必须直接从 git 存储库安装它。
我一直在尝试将它添加到我的 setup.py 中,如下所示:
setup(
..,
..,
dependency_links = [
'https://github.com/marcuz/libpynexmo.git#egg=nexmomessage'
],
install_requires=[
..,
'nexmomessage'
],
packages=['localpackage']
Run Code Online (Sandbox Code Playgroud)
但是它失败了:根本没有找到 nexmomessage 的发行版
我看到它在哪里创建依赖链接列表:将dependency_links 写入common.egg-info/dependency_links.txt - 当我查看该文件时,URL 是正确的。
如果我在命令行运行它: pip install -e git+ https://github.com/marcuz/libpynexmo.git#egg=nexmomessage
它安装没有问题。
想法?
我们有一个 Jenkins CI 服务器,它从 Git 获取我们的代码,构建它,制作一个 Docker 镜像,然后将它发送到一些生产服务器。
我们的项目主要是用 Python 编写的,所以“构建”涉及运行
pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
效果很好,只是有点慢。它必须通过网络获取包,另外还必须为其中一些构建 C 库(而且“lxml”并不小!)。
在开发中,我已经成功地pip-accel用来加速这个过程。它具有相同的接口,pip但它同时缓存 Python 下载和构建的 C 代码,所以
pip-accel install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
很快。
我想为我们的生产版本这样做,但我遇到了一些障碍。
显然,pip-accel需要一个目录来存储缓存。因为我们的 CI 服务器是运行构建的地方,所以这是放置它的合乎逻辑的地方。但是该pip install命令在一个新的 Docker 容器中运行,因此它不能只访问该服务器上的公共目录。
Docker“卷”似乎是为与容器共享目录而设计的,但我们的构建发生在内部(令人惊讶)docker build,并且只docker run允许您附加卷。您不能使用docker build.
有什么我想念的吗?如何在我docker build所在的容器之外运行并与我的主机共享缓存文件夹?
我正在尝试运行docker-compose(通过 安装pip),但遇到以下错误:
# pip install --quiet docker-compose
# docker-compose ps
/usr/local/lib/python2.7/dist-packages/paramiko/transport.py:33: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in a future release.
from cryptography.hazmat.backends import default_backend
Traceback (most recent call last):
File "/usr/local/bin/docker-compose", line 7, in <module>
from compose.cli.main import main
File "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", line 24, in <module>
from ..config import ConfigurationError
File "/usr/local/lib/python2.7/dist-packages/compose/config/__init__.py", line 6, in <module>
from .config …Run Code Online (Sandbox Code Playgroud) 我正在使用 Puppet 使用 pip 安装一些 Python 包。我使用的是 Puppet 2.7,所以我的包声明看起来像这样:
package { "carbon":
require => Class["graphite::prereqs::install"],
ensure => latest,
provider => pip,
}
Run Code Online (Sandbox Code Playgroud)
问题是这个包和graphite-web包似乎都有一个错误,可以使用 pip 多次安装相同的版本。所以如果我sudo pip install carbon多次输入,pip 每次都会安装它。我相信这是软件包的错误。
这个错误似乎也让 Puppet 感到困惑,因为每次我配置我的系统carbon并graphite-web重新安装时。
因此,我想知道是否有办法解决这个明显的打包错误。我尝试了以下方法:
package { "carbon":
require => Class["graphite::prereqs::install"],
ensure => latest,
provider => pip,
creates => "/opt/graphite/bin/carbon-cache.py",
}
Run Code Online (Sandbox Code Playgroud)
...但我不能使用创建。有没有另一种方法可以告诉包声明在安装包之前查找文件?
在 GCP 中启动一些小型虚拟机,并认为我会给 Ubuntu 20.04 LTS 最小的尝试。执行“apt update; apt upgrade”后,我可以安装像 Apache 这样的软件包,但使用 PIP 的运气为零:
root@ubuntu-rr58:/home/me# apt install python-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python-pip
Run Code Online (Sandbox Code Playgroud)
我已经验证了 Universe、Multiverse 和 Restricted 存储库可用:
root@ubuntu-rr58:~# grep ^deb /etc/apt/sources.list
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal main restricted
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal-updates main restricted
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal universe
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal-updates universe
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal multiverse
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal-updates multiverse
deb http://us-central1.gce.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu focal-security …Run Code Online (Sandbox Code Playgroud) pip ×10
python ×10
installation ×2
apt ×1
build-server ×1
deployment ×1
docker ×1
freebsd ×1
graphite ×1
linux ×1
packages ×1
puppet ×1
ubuntu ×1
ubuntu-11.10 ×1
ubuntu-16.04 ×1
ubuntu-20.04 ×1
virtualenv ×1