原文http://www.tuicool.com/articles/EnE7nm6

多版本Python共存[支持使用pip安装包] 有时特殊需要会要用到高版本的Python, 但是系统自带的版本又是很多其他工具依赖的, 不能随意更新。 所以就会考虑安装另一个版本的python环境, 然后需要用到这个版本时就在脚本头部指明 #/usr/bin/env python2.7 这样。

## 下载要安装的 Python版本源码包(我用的是 2.7 版本)

wget ‘http://www.python.org/ftp/python/2.7/Python-2.7.tar.bz2′

##标准的安装流程, 安装python2.7 到 /usr/local/python2.7 目录:

tar -xvf Python-2.7.tar.bz2
cd Python2.7
./configure –prefix=/usr/local/python2.7 && make && make install

## 建立一个 python2.7的链接, 方便调用

ln -sv /usr/local/python2.7/bin/python2.7 /usr/bin/python2.7

一般的需求到这一步即可使用 python2.7了。但是如果需要安装其他的包到python2.7, 在使用 easy_install、 pip 等包管理工具安装包时, 还是会装到系统自带版本python的目录。 在python2.7版本下也无法import安装的包。 以下是解决方法:

## 接下来安装一些需要的包环境(setuptools, pip)

wget --no-check-certificate 'https://pypi.python.org/packages/source/s/setuptools/setuptools-0.7.2.tar.gz'
tar -xvf setuptools-0.7.2.tar.gz
cd setuptools-0.7.2
python2.7 setup.py install –prefix=/usr/local/python2.7 wget --no-check-certificate 'https://pypi.python.org/packages/source/p/pip/pip-1.2.tar.gz'
tar -xvf pip-1.2.tar.gz
cd pip-1.2
python2.7 setup.py install –prefix=/usr/local/python2.7

## 创建一个 pip-2.7 的链接, 方便调用

ln -sv /usr/local/python2.7/bin/pip-2.7 /usr/bin/pip-2.7

之后使用 pip-2.7 命令安装的包就会自动装到 /usr/local/python2.7 对应目录下了。 这样安装的包不仅能import, 更重要的是不会出现不同版本的兼容性问题(有些包在不同版本python下是不同的)

多版本python import 问题解决方案的更多相关文章

  1. 同时安装py2和py3-安装多版本python

    遇到问题和需求 我的电脑环境:先安装py2再安装py3,平时我工作中是使用python2,如何保证两个版本共存且让代码来选择要使用的版本. 遇到问题 在cmd中输入python,进入的是py2的环境, ...

  2. python import, from xx import yy

    区别: 用import modulexx/packagexx.moduleyy是导入某一模块,如果想引用模块的内容(class, method,variables...)必须用全名,即 [module ...

  3. python import 错误 TypeError: 'module' object is not callable

    python import 错误 TypeError: 'module' object is not callable 在这里,有 Person.py test.py; 在 test.py 里面 im ...

  4. linux下python中文乱码解决方案

    1. 场景描述 linux服务器下安装了Anaconda3,执行Pyhton的K-means算法,结果出现如下图的中文字符乱码.上次已经解决了,忘记记录解决流程了,这次配置了一台新的服务器,又出现,默 ...

  5. python相关性算法解决方案(rest/数据库/json/下载)

    1. 场景描述 一直做java,因项目原因,需要封装一些经典的算法到平台上去,就一边学习python,一边网上寻找经典算法代码,今天介绍下经典的相关性算法,算法原理就不介绍了,只从代码层面进行介绍,包 ...

  6. Python 编码错误解决方案

    Python 编码错误解决方案 Python UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 7: ordin ...

  7. Ubuntu环境下非root用户指定版本Python的安装及虚拟环境virtualenv的使用

    Ubuntu环境下非root用户指定版本Python的安装及虚拟环境virtualenv的使用 参考博客: https://blog.csdn.net/leviopku/article/details ...

  8. 多版本python共存

    当不同版本python之间相互不能兼容时,可以使用virtualenv创建不同版本python的虚拟环境 当没有指定python解释器时(如下-p 即为指定的python版本),将使用默认的全局pyt ...

  9. python import eventlet包时提示ImportError: cannot import name eventlet

    root@zte-desktop:/home/ubuntu/python-threads# cat eventlet.py #!/usr/bin python import eventlet from ...

随机推荐

  1. Git相关内容

    先聊一点关于gitlab的内容和github的内容 Gitlab和GitHub,都是我们可以存放代码库的地方.不过Gitlab可以免费的存储私人代码,GitHub需要花钱才能够存储私人代码库,不过我想 ...

  2. linux简介及虚拟机安装

    1.简介 计算机组成

  3. Spring boot中使用servlet filter

    Spring boot中使用servlet filter liuyuhang原创,未经允许请勿转载! 在web项目中经常需要一些场景,如参数过滤防止sql注入,防止页面攻击,空参数矫正等, 也可以做成 ...

  4. c#分析SQL语句

    最近总结了c#一般的功能,然后自己在博文中写了很多东西.主要是在用途上面.能够解决一些问题.现在分各个组件和方向写完了.主要的内容写了demo,也写了自己的项目组件和模型. 最后一个SQL分析.其实在 ...

  5. aes 加密,解密

    Javaaes加密: package com.sh.auth.util; import java.security.InvalidKeyException; import java.security. ...

  6. 小A点菜

    题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家--餐馆,很低端的那种. uim指着墙上的价目表(太低级了没有菜单),说:"随便点". 题目描述 不过ui ...

  7. Linux 安装 python 指定版本--编译源码方式

    自动化脚本: #!/bin/bash sudo apt-get update sudo apt-get install -y gcc make build-essential libssl-dev z ...

  8. poj_1306_Combinations

    Computing the exact number of ways that N things can be taken M at a time can be a great challenge w ...

  9. deepin系统无线网络卡死或者极慢的解决方案

    在初次安装deb或者fedara系列的桌面发行版的之后,经常会出现无线网络极慢甚至卡死的状况. 笔者在初次使用deepin系统的时候,也遇到同样的问题,很大程度上是由于没有安装对应的驱动. 下面给出对 ...

  10. JetBrains 全家桶激活码

    原文地址:https://blog.csdn.net/usher_ou/article/details/77970172 RDNJ63FZWD-eyJsaWNlbnNlSWQiOiJSRE5KNjNG ...