程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python虛擬環境使用梳理

編輯:Python

python中使用Python虛擬環境。
虛擬環境其實是為了滿足在同一平台上使用不同版本的python、庫、包而產生。用專業詞語來形容是環境隔離。其實按照常規思維也是可以理解的。在同一平台下,使用相同的庫,肯定會產生沖突,尤其是配置環境變量,所有的庫包都在同一個地方下取用的情況下。因為我們都知道,在引用庫包時,基本都是路徑指定,然後到了指定路徑下去尋找指定名稱的文件。所以放在同一個文件夾下會引起沖突。
環境隔離其實也就是更改查找路徑。本質上是可以這麼說的。換句話說,如果你把你的庫包放在另外一個地方,而你在使用的時候,直接指定你所要版本庫包存放路徑,並且該路徑下的其他配置ok,那麼你也可以不用現在這樣的虛擬環境來搞。不過仔細想想,其實也是一個粗糙版的虛擬環境。當然,你也可以嘗試把主文件復制到你的項目目錄下,然後引用,也是可以的。

使用虛擬環境的包是virtualenv。可以看一下你的庫裡有沒有這個包,沒有就下載。
pip3 install virtualenv
or
yum install python3-virtualenv

如果包下載好了那麼就可以進行下一步。創建虛擬環境。
找一個你想要存放項目的地方,然後
virtualenv py_test
等待程序運行完成即可。
激活虛擬環境:
source /py_test/bin/activate
激活虛擬環境要用到activate這個文件的。所以要用路徑來指定他。如果你這個時候很迷,不知道activate是文件還是命令,請記住,他是你剛才創建虛擬環境之後生成的一個文件。然後接下來就是常規使用python的操作。
如果需要退出虛擬環境
deactivate


上述所描述是linux環境下虛擬環境的創建。接下來是win環境下虛擬環境創建。
一、下載virtualenv包
pip install virtualenv
二、創建虛擬環境
virtualenv py_test
三、激活虛擬環境
activate(直接找到activate這個文件,記得,沒有其他的後綴,然後運行就好了。在黑框裡運行會好了點,不然別的情況無法把控了)
四、退出虛擬環境
deactivate

接下來需要考慮另外一個問題,我們在開發環境下創建虛擬環境進行了相關的開發,那麼開發完成後我們需要進行遷移,直接把環境拿過去是不是可以?
查看了一些資料,好像是不可以。當然還沒有驗證。現在可以分析一下遷移過程中是那麼東西發生了變化?為什麼遷移之後不可用了呢?
如果是平台相同,那麼我們有理由相信一定是某些文件的路徑變化所導致,否則都只是文件,只要環境相同,那麼進行遷移後,他應該可以正常運行才對。而現在不可以運行,那就只能從環境、路徑上入手排查了。
使用win環境遷移到linux環境進行了相關測試,發現沒有什麼問題,運行十分利。沒有報錯。所以遷移很順利。

對於虛擬環境,我們經歷了
環境創建——》進入環境——》環境退出。其實這個只是虛擬環境的使用。我們還應該去關注一點,虛擬環境的管理。
如果有多個虛擬環境,應該如何去管理?
這個時候就涉及到了當前有那些虛擬環境實例?
以及如何查看?
當前還尚未解,留待後續吧

關於python虛擬環境,其實還有一些地方沒有處理完全。比如虛擬環境內文件層級結構,以及虛擬環境中特有的文件及標識。

從文件中看,只有

lib,scripts,.gitignore,pyvenv.cfg就這幾個點,估計cfg是可以進行更改的。換了新的環境後把cfg文件更改是不是就可以完美適配?這個還需要驗證。
 


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved