最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用虛擬環(huán)境實現(xiàn)Python版本和依賴庫的兼容

 更新時間:2022年12月05日 08:22:13   作者:englyf八戒  
這篇文章主要介紹了使用虛擬環(huán)境實現(xiàn)Python版本和依賴庫的兼容的相關(guān)資料,需要的朋友可以參考下

Python 開發(fā)環(huán)境非常靈活,得益于可以創(chuàng)建虛擬環(huán)境。

難道全局地安裝完 python 支持包然后直接 pip 再安裝一波依賴包就不可以開發(fā) python 程序了嗎?

明顯是可以的,而且可以運(yùn)行的非常好。不過,如果你接手了別人的代碼工程,卻發(fā)現(xiàn)對方使用的 python 版本或者依賴庫都和你的環(huán)境不兼容時,怎么辦?打算卸掉自己原來的那一套環(huán)境再重來嗎?真麻煩!

其實,虛擬環(huán)境就能完美解決這個苦惱。

創(chuàng)建

創(chuàng)建虛擬環(huán)境時,使用對于 python2 和 python3 的配置細(xì)節(jié)不一樣,但是思路是一樣的。

python2 需要通過第三方包 virtualenv 來創(chuàng)建虛擬環(huán)境。

先通過 pip 模塊安裝第三方包

pip install virtualenv

然后在自己的工程目錄里啟動執(zhí)行指令

virtualenv venv

上面的指令會自動創(chuàng)建文件夾 venv,該文件夾內(nèi)就存儲著虛擬環(huán)境的所有內(nèi)容。

而python3 僅需要通過語言自帶的模塊 venv 來創(chuàng)建虛擬環(huán)境,python2 是沒有這個模塊的。

由于 python3 是目前 python 的主流版本,所以下面的介紹只適用于 python3,并且適用版本是 Python 3.8.10。

在自己的工程目錄里啟動執(zhí)行指令

// windows cmd

python -m venv venv

啟動

創(chuàng)建好虛擬環(huán)境后,開發(fā)和維護(hù)這個工程時,希望工程依賴的 python 版本和依賴包等能獨(dú)立被管理起來,并且不需和全局環(huán)境兼容,那么這個工程的 python 版本和所有的依賴包都需要只在這個虛擬的環(huán)境下安裝和儲存。

啟動開發(fā)調(diào)試或者安裝第三方依賴包之前,啟動環(huán)境僅需要執(zhí)行在創(chuàng)建環(huán)境時自動生成的腳本。

// windows cmd

.\venv\Scripts\activate.bat

// windows powershell

.\venv\Scripts\Activate.ps1

// linux bash

source .\venv\Scripts\activate

然后你會看到命令窗口的命令行前面多了個(venv),表示虛擬環(huán)境已啟動

(venv) D:\prj\venv>

而一旦你需要轉(zhuǎn)移工程時,你也就僅需要把存放虛擬環(huán)境的文件夾 venv 一起拷貝即可。

安裝依賴包

創(chuàng)建完虛擬環(huán)境后,來看看有哪些包已經(jīng)被安裝了

(venv) D:\prj\venv>pip list
Package    Version
---------- -------
pip        21.1.1
setuptools 56.0.0
WARNING: You are using pip version 21.1.1; however, version 22.3.1 is available.
You should consider upgrading via the 'd:\prj\venv\venv\scripts\python.exe -m pip install --upgrade pip' command.

出警告了,說是建議升級當(dāng)前的模塊 pip 版本。估計是當(dāng)前的版本出了一些比較嚴(yán)重的bug,為了減少不必要的麻煩,升吧。

(venv) D:\prj\venv>python -m pip install --upgrade pip
Requirement already satisfied: pip in d:\prj\venv\venv\lib\site-packages (21.1.1)
Collecting pip
  Using cached pip-22.3.1-py3-none-any.whl (2.1 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 21.1.1
    Uninstalling pip-21.1.1:
      Successfully uninstalled pip-21.1.1
Successfully installed pip-22.3.1

假如因為工程實際需要開發(fā)GUI,那么可以引入第三方包 wxPython,使用前還是需要安裝的。

有時候吧,你會發(fā)現(xiàn)很不幸,安裝 wxPython 失敗了。因為第三方包的維護(hù)其實是各自獨(dú)立的,和 python 各個版本模塊有一定的兼容性問題。建議還是換一個 python 版本再試試,不過我這版本目前是沒問題的。

(venv) D:\prj\venv>pip install wxpython
Collecting wxpython
  Using cached wxPython-4.2.0-cp38-cp38-win_amd64.whl (18.0 MB)
Collecting six
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting numpy
  Using cached numpy-1.23.5-cp38-cp38-win_amd64.whl (14.7 MB)
Collecting pillow
  Using cached Pillow-9.3.0-cp38-cp38-win_amd64.whl (2.5 MB)
Installing collected packages: six, pillow, numpy, wxpython
Successfully installed numpy-1.23.5 pillow-9.3.0 six-1.16.0 wxpython-4.2.0

再看看當(dāng)前的環(huán)境

(venv) D:\prj\venv>pip list
Package    Version
---------- -------
numpy      1.23.5
Pillow     9.3.0
pip        22.3.1
setuptools 56.0.0
six        1.16.0
wxPython   4.2.0

重復(fù)利用環(huán)境依賴配置信息

問題來了,上面的示例只是安裝了一個依賴包就有了這么長的配置,如果我安裝的依賴包非常多,多到自己都不記得了,然后萬一我把文件夾 venv 的內(nèi)容全刪掉了,也就是說我需要重新配置環(huán)境,這時是不是得瘋掉?

不用擔(dān)心,有個很好的方法保存當(dāng)前的環(huán)境依賴包信息到本地文件。

pip list > requirements.txt

上面的指令將當(dāng)前的依賴包關(guān)系轉(zhuǎn)存到了文件 requirements.txt 中,至于為什么要用這個名字呢?這里其實沒有特殊要求,只是為了兼容某些開發(fā)平臺的習(xí)慣,比如著名的 Pycharm。

好了,配置保存到了本地,那么在依賴包缺失的環(huán)境中怎么重復(fù)利用這個配置信息呢?

pip install -r requirements.txt

這樣子就一鍵恢復(fù)了原來保存的安裝配置。在 Pycharm 平臺會自動識別工程根目錄下面的 requirements.txt 這個文件名的配置。

退出

有些情況下,需要臨時退出虛擬環(huán)境的配置,調(diào)用對應(yīng)的腳本

// windows cmd

.\venv\Scripts\deactivate.bat

到此這篇關(guān)于使用虛擬環(huán)境實現(xiàn)Python版本和依賴庫的兼容的文章就介紹到這了,更多相關(guān)Python版本和依賴庫的兼容內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python基礎(chǔ)教程之while循環(huán)用法講解

    Python基礎(chǔ)教程之while循環(huán)用法講解

    Python中除了for循環(huán)之外還有一個while循環(huán),下面這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)教程之while循環(huán)用法講解的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • 詳解Python中的正則表達(dá)式

    詳解Python中的正則表達(dá)式

    正則表達(dá)式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。本文給大家?guī)砹藀ython中的正則表達(dá)式,感興趣的朋友一起看看吧
    2018-07-07
  • Python實現(xiàn)簡單的用戶交互方法詳解

    Python實現(xiàn)簡單的用戶交互方法詳解

    這篇文章給大家分享了關(guān)于Python實現(xiàn)簡單的用戶交互的相關(guān)知識點內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2018-09-09
  • 利用python庫在局域網(wǎng)內(nèi)傳輸文件的方法

    利用python庫在局域網(wǎng)內(nèi)傳輸文件的方法

    今天小編就為大家分享一篇利用python庫在局域網(wǎng)內(nèi)傳輸文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python異常處理:try、except、else、finally的全面解析

    Python異常處理:try、except、else、finally的全面解析

    在Python中,異常是程序在運(yùn)行時發(fā)生的錯誤,當(dāng)Python解釋器遇到一個它不能處理的錯誤時,它會拋出一個異常,異常處理的主要目的是在程序遇到錯誤時,提供一種方法來處理這些錯誤,而不是簡單地讓程序崩潰,本文介紹了Python異常處理:try、except、else、finally的全面解析
    2024-07-07
  • Django 接收Post請求數(shù)據(jù),并保存到數(shù)據(jù)庫的實現(xiàn)方法

    Django 接收Post請求數(shù)據(jù),并保存到數(shù)據(jù)庫的實現(xiàn)方法

    今天小編就為大家分享一篇Django 接收Post請求數(shù)據(jù),并保存到數(shù)據(jù)庫的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 對Python 字典元素進(jìn)行刪除的方法

    對Python 字典元素進(jìn)行刪除的方法

    這篇文章主要介紹了對Python 字典元素進(jìn)行刪除的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • python游戲的魅力之冒險島實戰(zhàn)項目

    python游戲的魅力之冒險島實戰(zhàn)項目

    我看了一眼沉迷《夢幻國度》的兒子!氣就不打一處來!讓你見識一下Python游戲的魅力,python實戰(zhàn)冒險島游戲碼起,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值
    2021-09-09
  • Python編寫生成驗證碼的腳本的教程

    Python編寫生成驗證碼的腳本的教程

    這篇文章主要介紹了Python編寫生成驗證碼的腳本的教程,驗證碼在web編程中幾乎是必備的功能,需要的朋友可以參考下
    2015-05-05
  • 一文帶你手撕Python之散列類型

    一文帶你手撕Python之散列類型

    這篇文章主要介紹了Python字典的定義、操作方法和集合的基本概念,字典以鍵值對形式存儲數(shù)據(jù),可通過鍵訪問值,操作包括增刪改查等,集合是無序不重復(fù)的數(shù)據(jù)結(jié)構(gòu),適用于去重和集合運(yùn)算,需要的朋友可以參考下
    2024-09-09

最新評論

桃园市| 讷河市| 宁国市| 内黄县| 乐山市| 嘉黎县| 安化县| 齐河县| 竹山县| 岳西县| 资讯 | 阿尔山市| 苍梧县| 永新县| 商都县| 元谋县| 岚皋县| 寿宁县| 天气| 昭平县| 共和县| 沙坪坝区| 中山市| 曲阳县| 恩平市| 青海省| 巴彦淖尔市| 丽江市| 姜堰市| 舞阳县| 定日县| 都江堰市| 海淀区| 股票| 民丰县| 青海省| 和平区| 新源县| 阿拉善右旗| 灌南县| 宜兴市|