python中如何使用虛擬環(huán)境
在進行python的開發(fā)過程中一直倡導使用虛擬環(huán)境來進行項目隔離,這樣不會因為python的包不同而導致各種問題,但是以往為了圖省事簡單,安裝包就一直使用pip install 進行全局安裝,這樣做其實很不好,最近也開始嘗試使用虛擬環(huán)境來對項目進行隔離開發(fā)。
在python中一般情況下有兩套方案,一種是使用virtualenv/venv 方式,還有一種是使用pipenv,但是看到網上對于pipenv這個項目有些非議,就目前來說項目的issue和pr很多,但是開發(fā)者似乎不太想要對其進行維護,所以還是先嘗試比較成熟穩(wěn)定的virtualenv/venv方式吧,至于pipenv 以后再進行嘗試。
我所考慮的幾個問題
- 如何創(chuàng)建一個虛擬隔離環(huán)境
- 如何在虛擬環(huán)境中安裝包
- 如何使用國內的鏡像源加速
- 如何遷移項目到別的機器上
現(xiàn)在主要在python3中開發(fā),所以就直接使用venv的方式吧,virtualenv和venv方式差不多,如果你是在python2中那么就使用virtualenv吧。
如何創(chuàng)建一個虛擬隔離環(huán)境
創(chuàng)建目錄,并使用命令創(chuàng)建虛擬環(huán)境
mkdir venvtest cd venvtest python3 -m venv venttest
我是在windows環(huán)境下,執(zhí)行完上面的命令以后會在venvtest目錄下venvtest目錄,這個目錄下有python3環(huán)境的基礎標準庫,并不包含你在全局環(huán)境中安裝的第三方包。
調用虛擬環(huán)境的\Scripts\activate
命令就可以激活虛擬環(huán)境,激活虛擬環(huán)境以后,命令行提示符前會顯示當前虛擬環(huán)境的名字:(venttest) E:\venvtest>
安裝第三方庫
和全局安裝一樣,使用pip install 命令,只不過這次是安裝到了虛擬環(huán)境,如運行pip install requests
命令,運行之后再查看venvtest\venttest\Lib\site-packages
中就會有requests庫了,但是前提一定要使用activate激活當前的虛擬環(huán)境,要不就安裝到了全局的python site-packages目錄里了。
如何使用國內的鏡像源加速
在虛擬機環(huán)境中使用pip 讀取的是全局的鏡像回事配置,就是要創(chuàng)建一個環(huán)境變量HOME
,然后在HOME環(huán)境變量的目錄下創(chuàng)建pip目錄,再創(chuàng)建一個pip.ini,寫入
[global] index-url = https://mirrors.aliyun.com/pypi/simple
我這里使用的是阿里云的鏡像加速。
如何遷移項目到別的機器上
我這里簡單使用Flask創(chuàng)建一個hello world的項目
from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return '歡迎來到我的世界'
在激活虛擬環(huán)境的情況下使用flask run
命令來運行服務,此時因為flask安裝在虛擬環(huán)境中,即使全局python環(huán)境中沒有flask也可以運行,但一定要在激活虛擬環(huán)境的狀態(tài)。
如何遷移項目
換一個電腦開發(fā)或者在多人開發(fā)的情況下,需要怎么遷移項目呢?
簡單的方式是直接將原虛擬環(huán)境直接打包到新的目錄,然后修改一個相應的目錄配置。
主要是Script\activate.bat
將里面的
set "VIRTUAL_ENV=E:\vtest\venttest"
修改為新的路徑。
還有一種方式是在原虛擬環(huán)境下備份出第三方庫列表,然后在新環(huán)境中重新安裝。
備份列表命令使用pip freeze > requirements.txt
將該虛擬環(huán)境安裝的第三方包備份到requirements.txt,在新的環(huán)境使用pip install -r requirements.txt
進行安裝,使用pip freeze 命令也會同時將第三方庫的版本信息備份,這樣也保證了遷移以后的前后版本一致。
新電腦上也要安裝相同使用的python主環(huán)境,如你的虛擬環(huán)境是pyhon3,新環(huán)境只有python2,那也是不行的。
但是之前做項目的時候對第三方庫源碼進行了修改,這里也需要同時修改一下。
pycharm項目配置虛擬環(huán)境
pycharm 在創(chuàng)建項目的時候可以直接使用venv來創(chuàng)建
在New environment using 的下拉選項中選擇 Virualenv,在Base interpreter 中使用python 3.5 ,這里列出了系統(tǒng)中安裝的python版本。如果沒有列出的話也可以點擊后面的… 來手工選一下。
以上就是python中如何使用虛擬環(huán)境的詳細內容,更多關于python 虛擬環(huán)境的資料請關注腳本之家其它相關文章!
- Python 虛擬環(huán)境venv詳解
- Python虛擬環(huán)境venv用法詳解
- python虛擬環(huán)境創(chuàng)建的兩種方法
- python搭建虛擬環(huán)境的步驟詳解
- Python虛擬環(huán)境的創(chuàng)建和使用詳解
- Python虛擬環(huán)境的原理及使用詳解
- python 虛擬環(huán)境的創(chuàng)建與使用方法
- 解決python 虛擬環(huán)境刪除包無法加載的問題
- Anaconda中Python虛擬環(huán)境的創(chuàng)建使用與刪除方法詳解
- python中創(chuàng)建以及刪除虛擬環(huán)境的幾種方法總結
相關文章
基于Python實現(xiàn)智能停車場車牌識別計費系統(tǒng)
這篇文章主要為大家介紹了如何利用Python實現(xiàn)一個智能停車場車牌識別計費系統(tǒng),文中的示例代碼講解詳細,感興趣的小伙伴可以動手嘗試一下2022-04-04Python實現(xiàn)過濾單個Android程序日志腳本分享
這篇文章主要介紹了Python實現(xiàn)過濾單個Android程序日志腳本分享,本文講解了原理、實現(xiàn)代碼、使用方法、最新代碼等內容,需要的朋友可以參考下2015-01-01Python深度學習之使用Albumentations對圖像做增強
諸如RandomCrop和CenterCrop之類的某些增強功能可能會變換圖像,使其不包含所有原始邊界框. 本示例說明如何使用名為RandomSizedBBoxSafeCrop的變換來裁剪圖像的一部分,但保留原始圖像的所有邊界框,需要的朋友可以參考下2021-05-05Python 定義分數(shù)類實現(xiàn)其基本運算(示例代碼)
這篇文章主要介紹了Python 定義分數(shù)類實現(xiàn)其基本運算,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06