pyenv虛擬環境管理python多版本和軟體庫
可能大家在日常工作中會遇到這麼個問題,現在基本的linux系統都是自帶老版本的python2.7.x版本,我又不想用老版本,但直接升級可能會出問題,或是依賴老版本的程式就執行不了,有沒辦法能安裝3.x新版本的?
答案是有的,請使用pyenv,可以支援管理多個python版本,任意使用。
其實官方於2019年底將不再提供支援了,截至倒計時還有6天:https://pythonclock.org/
那有人可能會問,那在一個系統下,不同的庫依賴不同的python版本,就比如說python2.x版本需要django1.0版本,python3.x版本需要django2.0版本,那這樣系統只能裝一個django版本,這又怎麼解決呢?
答案是有的,pyenv自帶的外掛pyenv-virtualenv,建立兩個虛擬環境,互相獨立,各不影響。
實驗環境:
linux系統:CentOS 7 x64
pyenv常用命令:
[python@localhost ~]$ pyenv install -l //檢視可用的安裝版本 [python@localhost ~]$ pyenv install 3.6.9 //線上安裝python3.6.9版本 [python@localhost ~]$ pyenv virtualenv 3.6.9 py3 //建立虛擬環境,3.6.9為python版本,py3為別名 [python@localhost test]$ pyenv local 3.6.9 //進入目錄,設定或顯示本地python版本(本目錄有效) [python@localhost test]$ pyenv global system //設定或顯示全域性python版本 [python@localhost test]$ pyenv version //顯示當前python版本 [python@localhost test]$ pyenv versions //顯示可用的所有python版本 [python@localhost test]$ pyenv update //更新pyenv [python@localhost ~]$ pyenv virtualenvs //檢視所有虛擬環境 [python@localhost ~]$ rm -fr ~/.pyenv //解除安裝pyenv [python@localhost ~]$ pyenv virtualenv-delete py3 //刪除虛擬環境
建立使用者名稱及密碼:
說明:不要用root賬戶,養成習慣
[root@localhost ~]$ useradd python
[root@localhost ~]$ su - python
[python@localhost ~]$ echo python | passwd python --stdin
安裝依賴元件:
[python@localhost ~]$ yum install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel
zlib-devel bzip2-devel git curl
安裝pyenv:
#方法1:線上安裝
[python@localhost ~]$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
#方法2:為避免受制牆限制而無法線上安裝,複製如下連結的shell指令碼到本地pyenv.sh:
https://github.com/pyenv/pyenv-installer/blob/master/bin/pyenv-installer
[python@localhost ~]$ touch pyenv.sh //新建檔案,把上面的shell程式碼貼進來,儲存
[python@localhost ~]$ bash pyenv.sh
安裝完成後,按照提示,設定系統環境變數,在 '.bashrc' 增加如下程式碼:
[python@localhost ~]$ vim .bashrc
#最下面,新增如下指令碼
export PATH="/home/python/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
重啟shell,使路徑更改生效:
[python@localhost ~]$ exec $SHELL
提前在官方下載python安裝包並通過winSCP上傳到centos目錄下:
- Python-3.6.9.tar.xz
- Python-3.8.0.tar.xz
#在.pyenv目錄下建立cache目錄,已通過winSCP上傳好
[python@localhost ~]$ cd .pyenv
[python@localhost .pyenv]$ mkdir cache
[python@localhost cache]$ ll
總用量 34224
-rw-rw-r--. 1 python python 17212164 12月 15 01:56 Python-3.6.9.tar.xz
-rw-rw-r--. 1 python python 17829824 12月 15 01:57 Python-3.8.0.tar.xz
備註:如果直接通過'pyenv install 3.6.9 '去安裝,會很慢,因為要連線到國外。
開始安裝
[python@localhost pkg]$ pyenv install 3.6.9 -vvv //-v 可以看到安裝詳細的過程
[python@localhost ~]$ pyenv install 3.8.0 -vvv //-v 可以看到安裝詳細的過程
建立專案資料夾:
#舉個栗子:
#1.Python目錄,使用python3.6.9版本
#2.My_django目錄,使用python3.6.9版本
#3.test目錄,使用python3.8.0版本
[python@localhost Python]$ mkdir -pv network/Python/
[python@localhost Python]$ mkdir -pv network/My_django/
[python@localhost Python]$ mkdir -pv network/test/
建立虛擬環境,效果如下:
#Python目錄:
[python@localhost ~]$ pyenv virtualenv 3.6.9 py3 //設定別名py3
[python@localhost Python]$ pyenv local py3
(py3) [python@localhost Python]$ pyenv version
py3 (set by /home/python/network/Python/.python-version)
(py3) [python@localhost Python]$ //左邊看到(py3)說明已在虛擬環境中,是獨立的
#My_django目錄:
[python@localhost ~]$ pyenv virtualenv 3.6.9 py369 //設定別名py369
[python@localhost My_django]$ pyenv local py369
(py369) [python@localhost My_django]$ pyenv version
py369 (set by /home/python/network/My_django/.python-version)
(py369) [python@localhost My_django]$
#test目錄:
[python@localhost ~]$ pyenv virtualenv 3.8.0 py380 //設定別名py380
[python@localhost test]$ pyenv local py380
(py380) [python@localhost test]$ pyenv version
py380 (set by /home/python/network/test/.python-version)
(py380) [python@localhost test]$
#驗證效果
#在My_django虛擬環境下安裝pip install redis
#其他虛擬目錄沒有redis
#My_django虛擬環境
(py369) [python@localhost My_django]$ pip list
Package Version
---------- -------
pip 19.3.1
redis 3.3.11
setuptools 40.6.2
#Python虛擬環境
[python@localhost Python]$ pip list
Package Version
---------- -------
pip 19.2.3
setuptools 41.2.0
說明:你可以在每個專案安裝所需要的軟體版本,都是獨立的,互不影響。
pyenv官方連結
如果喜歡的我的文章,歡迎關注我的公眾號:點滴技術,掃碼關注,不定期分享
相關推薦
pyenv虛擬環境管理python多版本和軟體庫
可能大家在日常工作中會遇到這麼個問題,現在基本的linux系統都是自帶老版本的python2.7.x版本,我又不想用老版本,但直接升級可能會出問題,或是依賴老版本的程式就執行不了,有沒辦法能安裝3.x新版本的? 答案是有的,請使用pyenv,可以支援管理多個python版本,任意使用。 其實官方於2019年底
讓虛擬環境解決python多版本並行
一.安裝篇 1.本文作業系統為CentOS7 依賴包(安裝時可能還存在其他依賴包,結合報錯進行安裝) [[email protected] home]# yum install make build-essential libssl-dev zlib1g-dev libbz2-dev libr
ubuntu下使用Anaconda應用:建立虛擬環境實現python不同版本切換、科學計算工具包安裝
Anaconda的安裝 Anaconda的下載頁參見官網下載,Linux、Mac、Windows均支援。 安裝時,會發現有兩個不同版本的Anaconda,分別對應Python 2.7和Python 3.5,兩個版本其實除了這點區別外其他都一樣。後面我們會看到,安裝哪個版本並不本質,因為通過環境管理,我們可以
Python多版本pip安裝庫的問題
引 機器上總是會有Python2.7的版本和Python3.x的版本,今天接觸到一臺伺服器上面有Python2.7和Python3.4,想在Python3.4下安裝一個TensorFlow,但不管怎麼裝都只能裝到Python2.7上,特別頭疼,後來發現是因為不
Mac OSX python多版本管理工具:pyenv 和 virtualenv搭建
macos pyenv pyenv-virtualenv本博文只是簡單介紹如何安裝 概念問題 請自行查詢環境:10.13.1+shell1、安裝brew官網地址:https://brew.sh//usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercon
Python linux多版本共存以及虛擬環境管理
此時需要在系統中安裝多個Python,但又不能影響系統自帶的Python,即需要實現Python的多版本共存。 pyenv 就是這樣一個Python版本管理器。 安裝pyenv $ git clone git://github.com/yyuu/pyenv
pyenv和virtualenv管理python的版本(多個版本同時用)
雜項 http pip git gin 創建 再次 是你 note 1、homebrew安裝: https://brew.sh/index_zh-cn 2、pyenv安裝使用: https://blog.csdn.net/m0_37998140/article/deta
轉 Python多版本管理-pyenv
https://www.cnblogs.com/saneri/p/7642316.html 經常遇到這樣的情況: 系統自帶的Python是2.x,自己需要Python 3.x,此時需要在系統中安裝多個Python,但又不能影響系統自帶的Python,即需要實現Python的多版本共存,py
Python多版本共存 建立虛擬環境及安裝opencv,tensorflow
1. Python多版本共存 首先將需要的Python版本都安裝上,不同Python版本安裝的時候會建立不同的資料夾,裝好以後就去各個版本的Python資料夾下將Python.exe複製一份然後改個名字,比如python35.exe,python37.exe。然
pyenv + virtualenv 建立管理Python虛擬環境(Linux系統)
python開發環境配置 Python 2和Python 3之間存在著較大的差異,並且,由於各種原因導致了Python 2和Python 3的長期共存。在實際工作過程中,我們可能會同時用到Python 2和Python 3,因此,也需要經常在Python 2和Python 3之間進行來回
Python多版本管理器-pyenv 介紹及部署記錄
一. pyenv簡單介紹 由於python的各種優點,當前學習及使用python的人越來越多, 學習python有一個不容忽視的問題就是python的版本問題! 到現在為止,python的版本有很多,但是問題在於python2與python3的區別。python3的對一些模組進行了改變,導致了python
mac 下安裝python虛擬環境 virtualenv 和 虛擬環境管理器 virtualenvwrapper
轉自:http://blog.csdn.net/xianliangforshuyuan/article/details/70041012 有時候我們在開發中需要使用python2或者python3,所以我們需要建立一個虛擬的環境進行將兩個版本隔離出來,這裡我們
python多版本管理工具pyenv的安裝
安裝方法 1、yum install git -y 2、yum install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel -
Python多版本管理軟體pyenv的安裝應用及pip的使用講解
原創作品,允許轉載,轉載時請務必以超連結形式標明文章 原始出處 、作者資訊和本宣告。否則將追究法律責任。 近期Comyn老師的Python視訊推出之後,大家一直在討論者pyenv這個軟體的應用問
python多版本與虛擬環境
這篇純python技術文章,我自己平時也會用到,在此記錄一下。 ## 為什麼會用到多個Python版本? 用macOS和Ubutntu的同學都知道系統預設安裝的`Python2.7.x`,然後,我們平時python開發用的python3,所以,需要額外安裝一個`Python3.x`的版本。 之前,我想是
python多版本以及各種包管理
eight curl border roo python space 查看 集中 title python多版本以及各種包管理python包管理各個版本 python版本管理 由於Python有2.x和3.x兩個大的版本,而且每一個工程建立所用的各種包的版本也不
Mac下使用Pyenv實現python多版本共存與切換
macmac自帶的python2.7不能刪除,因為很多系統模塊依賴,所以我們使用pyenv來安裝python3.6版本,這樣就可以並存。1、安裝OS X的套件管理器(類似ubuntu的apt-get),網址如下:http://brew.sh/index_zh-cn.html或者直接用終端命令安裝/usr/bi
Linux下python多版本多環境介紹
package sta app total shel ons 版本 tis openssl 一、python多版本配置說明 安裝python相關依賴 [root@centos6 ~]# yum install -y gcc make patch gdbm-devel o
ubuntu 配置 java jdk1.8 環境,增加多版本 jdk 和切換方法
其它 web oracle -i serve server pre jdk6 runtime 一、安裝java jdk1.8 1.添加軟件源 sudo add-apt-repository ppa:webupd8team/java 2.更新軟件源 sudo apt-g
python多版本切換和使用
anconda多環境多版本配置 下面僅展示在windows環境下配置和使用anconda來管理多個python環境 1、首先檢查conda是否被安裝 conda --version 2、升級當前版本的conda conda update conda 3、比如我們現