有什么方法可以使pip在多个版本的Python中很好地发挥作用? 例如,我想使用pip明确地将内容安装到我的站点2.5安装或站点2.6安装中。

例如,对于easy_install ,我使用easy_install-2.{5,6}

而且,是的-我了解virtualenv,不是-这不是解决此特定问题的方法。


#1楼

因此,显然有easy_install pip多个版本。 这似乎是一个大混乱。 无论如何,这就是我在Ubuntu 12.10上为Python 2.7安装Django的目的:

$ sudo easy_install-2.7 pip
Searching for pip
Best match: pip 1.1
Adding pip 1.1 to easy-install.pth file
Installing pip-2.7 script to /usr/local/binUsing /usr/lib/python2.7/dist-packages
Processing dependencies for pip
Finished processing dependencies for pip$ sudo pip-2.7 install django
Downloading/unpacking djangoDownloading Django-1.5.1.tar.gz (8.0Mb): 8.0Mb downloadedRunning setup.py egg_info for package djangowarning: no previously-included files matching '__pycache__' found under directory '*'warning: no previously-included files matching '*.py[co]' found under directory '*'
Installing collected packages: djangoRunning setup.py install for djangochanging mode of build/scripts-2.7/django-admin.py from 644 to 755warning: no previously-included files matching '__pycache__' found under directory '*'warning: no previously-included files matching '*.py[co]' found under directory '*'changing mode of /usr/local/bin/django-admin.py to 755
Successfully installed django
Cleaning up...$ python
Python 2.7.3 (default, Sep 26 2012, 21:51:14)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>>

#2楼

我默认情况下安装了python 2.6(Amazon EC2 AMI),但是我的应用程序需要python2.7以及一些外部软件包。 假设您已经安装了python2.7和默认的python(在我的例子中是2.6)。 这是如何为非默认python2.7安装pip和软件包

为您的python版本安装pip:

curl -O https://bootstrap.pypa.io/get-pip.py
python27 get-pip.py

使用特定的pip版本来安装软件包:

pip2.7 install mysql-connector-python --allow-external mysql-connector-python

#3楼

/path/to/python2.{5,6} /path/to/pip install PackageName不起作用?

为了使它可以在尚未安装pip的任何python版本上运行,您需要下载pip并执行python*version* setup.py install 。 例如python3.3 setup.py install 。 这样可以解决注释中的导入错误。 (由@hbdgaf建议)


#4楼

我本人最近遇到了这个问题,发现在我的同时具有Python 2的Linux系统上,我对Python 3的了解不正确。

首先,您必须确保已为python版本安装了pip:

对于Python 2:

sudo apt-get install python-pip

对于Python 3:

sudo apt-get install python3-pip

然后,要为一个版本的Python或其他版本安装软件包,只需对Python 2使用以下代码:

pip install <package>

或对于Python 3:

pip3 install <package>

#5楼

在Windows上,如果您选择在Python 3安装过程中安装它,则可以通过Python启动器 py.exe使用给定的Python版本执行pip模块。

py -3 -m pip install packagename
py -2 -m pip install packagename

您甚至可以更加具体,并请求确切的Python子版本:

py -3.6 -m pip install packagename

要获取通过启动器可用的所有已安装Python版本的列表,请运行:

py --list

另外,您可以直接启动所需的Python可执行文件:

C:/path/to/specific/python.exe -m pip install packagename

#6楼

它以这种方式在Windows中为我工作:

  1. 我将python文件python.py和pythonw.exe的名称更改为python3.py pythonw3.py

  2. 然后,我在提示符中运行了此命令:

    python3 -m pip install package


#7楼

其他答案显示了如何将pip与2.X和3.X Python一起使用,但没有显示如何处理多个Python发行版的情况(例如,原始Python和Anaconda Python)

我总共有3个Python版本:原始Python 2.7和Python 3.5以及Anaconda Python 3.5。

这是我将软件包安装到的方法:

  1. 原始Python 3.5

     /usr/bin/python3 -m pip install python-daemon 
  2. 原始Python 2.7

     /usr/bin/python -m pip install python-daemon 
  3. Anaconda Python 3.5

     python3 -m pip install python-daemon 

    要么

     pip3 install python-daemon 

    更简单,因为Anaconda在用户环境中覆盖了原始Python二进制文件。

    当然,在anaconda中安装应该使用conda命令完成,这只是一个示例。


另外,请确保已为该特定python安装了pip。您可能需要手动安装pip。 在Ubuntu 16.04中可以使用:

sudo apt-get install python-pip

要么

sudo apt-get install python3-pip

#8楼

上下文:Archlinux

行动:
安装python2-pip:
sudo pacman -S python2-pip

您现在有了pip2.7:
sudo pip2.7 install boto

测试(在我的情况下,我需要'boto'):
运行以下命令:

python2
import boto

成功:没有错误。

退出: Ctrl + D


#9楼

从这里: https : //docs.python.org/3/installing/

这是如何为同时安装linux,mac,posix的各种版本安装软件包的方法:

python2   -m pip install SomePackage  # default Python 2
python2.7 -m pip install SomePackage  # specifically Python 2.7
python3   -m pip install SomePackage  # default Python 3
python3.4 -m pip install SomePackage  # specifically Python 3.4
python3.5 -m pip install SomePackage  # specifically Python 3.5
python3.6 -m pip install SomePackage  # specifically Python 3.6

Windows上 ,将py Python启动器与-m开关结合使用:

py -2   -m pip install SomePackage  # default Python 2
py -2.7 -m pip install SomePackage  # specifically Python 2.7
py -3   -m pip install SomePackage  # default Python 3
py -3.4 -m pip install SomePackage  # specifically Python 3.4

#10楼

例如,如果您将其他版本(例如3.5)设置为默认版本,并想为python 2.7安装pip:

  1. 在https://pypi.python.org/pypi/pip(tar )下载pip
  2. 解压tar文件
  3. cd到文件目录
  4. sudo python2.7 setup.py安装

#11楼

pip也是python包。 因此,将模块安装到特定python版本的最简单方法如下

 python2.7 /usr/bin/pip install foo

要么

python2.7 -m pip install foo

#12楼

这里的大多数答案都解决了这个问题,但是我想添加一些使我不断困惑的东西,以便在CentOS 7的/usr/local创建python的替代安装。我可以使用pip2.7 install ,它将安装模块。 但是,我不知道是为什么我新安装的python版本没有看到我要安装的内容。

事实证明,在CentOS 7中, /usr/bin文件夹中已经有一个python2.7和pip2.7。 要为新的python发行版安装pip,您需要专门告诉sudo转到/usr/local/bin

sudo /usr/local/bin/python2.7 -m ensurepip

这应该在您的/usr/local/bin文件夹中安装了pip2.7以及您的python版本。 诀窍在于,当您要安装模块时,您需要修改sudo $PATH变量以包含/usr/local/bin或需要执行

sudo /usr/local/bin/pip2.7 install <module>

如果要安装新模块。 我花了很长时间才记住sudo并没有立即看到/usr/local/bin


#13楼

当前建议使用python -m pip ,其中python是您要使用的Python版本。 这是建议,因为它适用于所有版本的Python和所有形式的virtualenv。 例如:

# The system default python:
$ python -m pip install fish# A virtualenv's python:
$ .env/bin/python -m pip install fish# A specific version of python:
$ python-3.6 -m pip install fish

先前的答案,留给后代:

从0.8版开始,Pip支持pip-{version} 。 您可以像easy_install-{version}一样使用它:

$ pip-2.5 install myfoopackage
$ pip-2.6 install otherpackage
$ pip-2.7 install mybarpackage

编辑 :pip将其架构更改为使用pipVERSION而不是1.5 pip-VERSION中的pip-VERSION 。 如果pip >= 1.5则应使用以下命令:

$ pip2.6 install otherpackage
$ pip2.7 install mybarpackage

检查https://github.com/pypa/pip/pull/1053了解更多详细信息


参考文献:

  • https://github.com/pypa/pip/issues/200
  • http://www.pip-installer.org/docs/pip/en/0.8.3/news.html#id4

#14楼

您可以转到例如C:\\ Python2.7 \\ Scripts,然后从该路径运行cmd。 之后,您可以运行pip2.7安装软件包...

这将为该版本的Python安装软件包。


#15楼

在Linux,Mac OS X和其他POSIX系统上,结合使用版本化的Python命令和-m开关,以运行适当的pip副本:

python2.7 -m pip install SomePackage
python3.4 -m pip install SomePackage

(也可能提供适当版本的pip命令)

在Windows上,将py Python启动器与-m开关结合使用:

py -2.7 -m pip install SomePackage  # specifically Python 2.7
py -3.4 -m pip install SomePackage  # specifically Python 3.4

如果您收到py -3.4错误,请尝试:

pip install SomePackage

#16楼

这是我对这个问题的看法。 适用于Python3。 主要特点是:

  • 每个Python版本均从源代码编译
  • 所有版本均在本地安装
  • 不会以任何方式破坏系统的默认Python安装
  • 每个Python版本都通过virtualenv隔离

步骤如下:

  1. 如果您以其他方式安装了几个额外的python版本,请摆脱它们,例如,删除$ HOME / .local / lib / python3.x等(以及全局安装的版本)。 但是不要触摸系统的默认python3版本。

  2. 在以下目录结构下的不同python版本的下载源:

     $HOME/ python_versions/ : download Python-*.tgz packages here and "tar xvf" them. You'll get directories like this: Python-3.4.8/ Python-3.6.5/ Python-3.xy/ ... 
  3. 在每个“ Python-3.xy /”目录中,执行以下操作(在任何步骤中都不要使用“ sudo”!):

     mkdir root ./configure --prefix=$PWD/root make -j 2 make install virtualenv --no-site-packages -p root/bin/python3.x env 
  4. 在“ python_versions /”处创建如下文件:

     env_python3x.bash: #!/bin/bash echo "type deactivate to exit" source $HOME/python_versions/Python-3.xy/env/bin/activate 
  5. 现在,无论何时您希望选择python3.x,都可以

     source $HOME/python_versions/env_python3x.bash 

    进入virtualenv

  6. 在virtualenv中,使用以下命令安装您喜欢的python软件包:

     pip install --upgrade package_name 
  7. 要退出virtualenv和python版本,只需键入“ deactivate”


#17楼

这可能是完全错误的操作(我是python noob),但是我只是进去编辑了pip文件

#!/usr/bin/env python3 <-- I changed this line.# -*- coding: utf-8 -*-
import re
import sysfrom pip._internal import mainif __name__ == '__main__':sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])sys.exit(main())

#18楼

安装多个版本的Python和相应的软件包。

同一Windows机器上的Python版本:2.7,3.4和3.6

安装所有3个版本的Python

  • 使用以下路径安装了Python 2.7、3.4和3.6

所有3个版本的Python的PATH

  • 确保PATH变量(在System Variables中)包含以下路径-C:\\ Python27 \\; C:\\ Python27 \\ Scripts; C:\\ Python34 \\; C:\\ Python34 \\ Scripts; C:\\ Python36 \\; C:\\ Python36 \\ Scripts \\;

重命名版本的可执行文件

  • 将C:\\ Python36和C:\\ Python34中的python可执行文件名称分别更改为python36和python34。

检查所有版本的命令提示符:

为每个版本分别安装软件包


#19楼

专门针对Windows: \\ path \\ to \\ python.exe -m pip install PackageName有效。


#20楼

如果您有多个版本以及多个体系结构(32位,64位),则需要在版本末尾添加-32或-64。

对于Windows,请转到cmd并键入py --list,它将生成您已安装的版本。 该列表将如下所示:

Installed Pythons found by py Launcher for Windows-3.7-64 *-3.7-32-3.6-32

以完整命令为例:

py -3.6-32 -m pip install (package)

如果您想更深入,要在特定版本的python上安装特定版本的软件包,请在该软件包之后使用==(version)。 举个例子,

py -3.6-32 -m pip install opencv-python==4.1.0.25

处理多个Python版本和PIP?相关推荐

  1. 指定版本的python运行和指定python版本的pip

    1. pip在指定Python版本下安装 pip install -t D:\python3.5(32bit)\Lib\site-packages -i https://pypi.douban.com ...

  2. pip更新python版本_Python pip版本升级

    pip版本升级命令: python -m pip install --upgrade pip 如果报错代码如下: (venv) C:\Users\ssdy\PycharmProjects\untitl ...

  3. python pip升级 指向不同python版本

    pip升级: pip install -U pip 查看版本: pip -V 查找pip安装位置 which pip 修改pip指向的python版本: vi pip # 修改第一行: #!/usr/ ...

  4. ROS修改:ubuntu系统更改默认python版本(重要操作)

    ubuntu18.04+ROS melodic 困扰:ROS用到python2,而各种目标检测源码用到python3,而且各种包也要安在python3的环境下,而不是python2. 解决:基于upd ...

  5. 不同Python版本间的切换

    不同Python版本的切换问题 问题描述: 本机为window系统,原安装了python3.9.5的版本,后又安装anacode,且该工具包中自带了python3.9.7的版本. 问题:如何查看不同版 ...

  6. windows下多版本python安装与pip安装和pip使用 吐血总结

    https://blog.csdn.net/silence2015/article/details/56483892/ 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附 ...

  7. pip安装更新、第三方库对应的python解释器版本、pip安装第三方库,压缩包离线安装,pycharm快捷安装及pycharm中terminal的使用,timeout超时报错

    文章有点长,但是很详细,还望大家耐心看 之前在安装python的文章中已经给大家配置了pip环境变量(不了解的点这里去看看),这里就能直接在cmd窗口,不用切换路径,就能使用pip了. 首先 使用pi ...

  8. python安装pyinstaller出现错误_pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)...

    本机中原pyinstaller版本为3.5版本,本打算通过 pip install --upgrade pyinstaller进行升级,竟然报错,后面卸载再重新安装也一样报错,没办法看来通过pip是暂 ...

  9. pip升级python版本_GEE学习笔记 六十八:【GEE之Python版教程二】配置Python开发环境...

    这一篇内容主要讲解两部分内容,第一部分是本地python开发环境的配置,第二部分是GEE的python开发环境配置.我这里做的所有的操作都是在我的Mac电脑上做的,Windows上操作类似,如果有不清 ...

最新文章

  1. Spring Boot 整合 Quartz 实现 Java 定时任务的动态配置
  2. python random
  3. 计算机应用基础在powerpoint中,计算机应用基础PowerPoint习题1
  4. <scope>test</scope>的作用
  5. java 反编译 类名_java javassist创建类和反编译类
  6. quartz基本使用
  7. 2018计算机河北省高考试题,2018年河北高考物理压轴试题【含答案】
  8. 线性代数:矩阵运算之乘法?
  9. Android studio设置相机权限,如何强制将“android.permission.CAMERA”权限添加到Codename中的清单中...
  10. 开发extjs常用的插件
  11. Applet类的方法
  12. 读取SqlServer表名及结构
  13. html代码中如何将浏览器的菜单栏,状态栏,地址栏,工具栏等隐藏,标题栏html代码 HTML中怎么设置标题居中...
  14. C程序设计语言(KR)笔记
  15. 最简单DIY基于STM32F407探索者开发板和PCA9685舵机控制模块的红外遥控机械臂控制程序
  16. vs2003 常见问题及处理
  17. s5p4418显示驱动
  18. [乱七八糟]Google搜索秘籍
  19. 动图太大无法添加到微信表情怎么办?
  20. 机顶盒抓包(无法连接WIFI的设备)

热门文章

  1. Handler消息机制(四):子线程可以创建Handler吗
  2. C++网络包截取开发
  3. SSL--用Tomcat服务器配置https双向认证过程实战
  4. 学习JNI一些基础知识
  5. 设计模式之享元模式学习笔记
  6. 【UIKit】UILabel使用
  7. node--静态服务器
  8. CentOS 6.5 手动rpm包安装gcc、g++
  9. Alpha冲刺Day2
  10. tar 解压缩命令详解