gpt4 book ai didi

Python 3.5 安装 pyvenv

转载 作者:行者123 更新时间:2023-11-28 21:46:30 28 4
gpt4 key购买 nike

我正在尝试为需要 python 3.5 的 repo 获取虚拟环境。我正在使用 Debian,据我所知,python 3.5 没有 aptitude 包。看了一些帖子,推荐下载3.5源码编译。

运行make和install后,python3.5安装到/usr/local/bin。我将其添加到 $PATH 变量中。

这是我遇到问题的地方。在我跑完之后:

$ cd project-dir
$ pyvenv env
$ source env/bin/activate
$ pip install -r requirements.txt

我遇到了需要 sudo 才能安装正确软件包的问题。我跑了:

$ which pip

事实证明,pip 仍在使用 pip 的/usr/local/bin 版本。

$ echo $PATH

返回

/home/me/project-dir/env/bin:/usr/local/bin:/usr/bin:/bin: ...

我假设因为/usr/local 路径在我的 PATH 变量中的虚拟环境路径之后,所以它使用的是那个版本的 pip 而不是我的虚拟环境。

在 virtualenv 中运行正确版本的 pip 的最佳方法是什么?我能想到的两个选项是将二进制文件移动到/usr/bin 或修改我的虚拟环境中的激活脚本以将 virtualenv 路径放在/usr/local 之后。

最佳答案

选项 1您可以通过执行在虚拟环境中手动升级 pip

pip install -U pip

选项 2在该包内升级 pip 的好方法python -m ensurepip --upgrade确实升级了系统中的pip版本(如果低于ensurepip中的版本)

你正面临这个问题,因为 venv 使用了 ensurepip将 pip 添加到新环境中:

Unless the --without-pip option is given, ensurepip will be invoked to bootstrap pip into the virtual environment.

Ensurepip 包不会从 Internet 下载或从其他任何地方获取文件,因为所有必需的组件都已包含在包中。这样做会增加安全漏洞,因此不受支持。

Ensurepip 并非旨在为您提供最新的 pip,而只是“一个”pip。要获得最新版本,请使用本文开头的手动方式。

要检查 ensurepip 版本,您可以在 python 控制台中键入 import ensurepip print(ensurepip.version())

进一步阅读的更多发现:

  1. 使用文件手动升级 ensurepip - https://github.com/python/cpython/commit/f649e9c44631c07e707842c42747b651b986dcc4
  2. What's the proper way to install pip, virtualenv, and distribute for Python?
  3. Comprehensive beginner's virtualenv tutorial?

关于Python 3.5 安装 pyvenv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37825910/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com