亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python使用pyenv實(shí)現(xiàn)多環(huán)境管理

 更新時(shí)間:2021年02月05日 09:28:28   作者:氷泠  
這篇文章主要介紹了Python使用pyenv實(shí)現(xiàn)多環(huán)境管理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1 背景&概述

因某些需求,需要安裝 TensorFlow ,很自然地在終端敲下了以下命令:

pip install tensorflow

然后。。。

好家伙???

居然沒(méi)有??

因?yàn)槭?Python 3.9 ,去 pypi 搜索了,居然還真沒(méi)有支持的,最高只有 Python 3.8

于是便考慮一個(gè)多版本的 Python 環(huán)境,碰巧就在 Github 上看到了一個(gè) 22.3k 的東西:

這就是 pyenv ,一個(gè)簡(jiǎn)單的 Python 版本管理器,可以輕松地在各個(gè) Python 版本之間進(jìn)行切換。

好了廢話(huà)不說(shuō),進(jìn)入正題。

2 安裝

安裝有兩種方式:

  • 自動(dòng)安裝
  • 手動(dòng)安裝

2.1 自動(dòng)安裝

curl https://pyenv.run | bash
# 或
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

2.2 手動(dòng)安裝

手動(dòng)安裝大致分為三步:

  • 安裝pyenv
  • 配置環(huán)境變量
  • 初始化

2.2.1 安裝 pyenv

筆者系統(tǒng) Manjaro ,可以直接 yay 安裝:

yay -S pyenv

其他系統(tǒng)的可以使用 apt search / yum search 等看看軟件包倉(cāng)庫(kù)有沒(méi)有,有的話(huà)直接安裝即可,沒(méi)有的話(huà),可以 clone 安裝:

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

這一步是可選的 )接著就是編譯動(dòng)態(tài) bash 擴(kuò)展進(jìn)行加速:

cd ~/.pyenv && src/configure && make -C src

官方解釋說(shuō),不用害怕編譯失敗,因?yàn)槿匀粫?huì)正常工作。

2.2.2 配置環(huán)境變量

這一步就是把 PYENV 以及更新后的 PATH 配置成環(huán)境變量,官方文檔按照 shell 類(lèi)型進(jìn)行了分類(lèi),根據(jù)自己情況選擇即可。

2.2.2.1 bash

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile

2.2.2.2 Zsh

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc

2.2.2.3 Fish shell

set -Ux PYENV_ROOT $HOME/.pyenv
set -Ux fish_user_paths $PYENV_ROOT/bin $fish_user_paths

2.2.3 初始化

配置完環(huán)境變量后還要進(jìn)行初始化操作,文檔同樣按 shell 類(lèi)型進(jìn)行了分類(lèi)。

2.2.3.1 bash

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

2.2.3.2 Zsh

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc

2.2.3.3 Fish shell

echo -e '\n\n# pyenv init\nif command -v pyenv 1>/dev/null 2>&1\n pyenv init - | source\nend' >> ~/.config/fish/config.fish

2.3 測(cè)試

重新開(kāi)啟一個(gè)終端,輸入 pyenv ,輸出如下信息就表明安裝成功了:

3 基本使用

  •  pyenv commands:查看所有pyenv命令
  • pyenv exec:使用特定Python版本執(zhí)行某條命令
  • pyenv global:設(shè)置或查看全局Python版本
  • pyenv hooks:列出給出的pyenv命令的鉤子腳本
  • pyenv init:配置shell環(huán)境
  • pyenv install:安裝某個(gè)版本的Python
  • pyenv local:為某個(gè)應(yīng)用設(shè)置特定的Python版本
  • pyenv prefix:顯示對(duì)應(yīng)Python版本的路徑前綴
  • pyenv rehash:再哈希pyenv shims(不清楚有什么用,歡迎評(píng)論補(bǔ)充)
  • pyenv root:顯示pyenv根目錄
  • pyenv shell:為某個(gè)shell設(shè)置特定的Python版本(與pyenv local類(lèi)似)
  • pyenv shims:列出當(dāng)前存在的shims(pyenv的工作原理就是在一個(gè)叫shims的目錄下創(chuàng)建Python解釋器的“假版本”,尋找Python應(yīng)用時(shí)先從該目錄查找)
  • pyenv uninstall:卸載某個(gè)版本Python
  • pyenv --version:顯示pyenv版本
  • pyenv version:顯示當(dāng)前Python版本,等價(jià)于pyenv version-name+pyenv version-file
  • pyenv version-file/version-name/version-origin:當(dāng)前Python版本對(duì)應(yīng)的文件/名字/位置
  • pyenv whence:列出已安裝的一個(gè)范圍內(nèi)的Python版本,比如列出本地安裝的Python2到Python3的版本,可以使用pyenv whence 2to3
  • pyenv which:列出可執(zhí)行文件的絕對(duì)路徑,比如pyenv which python可以列出python命令的絕對(duì)路徑

4 實(shí)際應(yīng)用

雖然上面說(shuō)了這么多命令,但實(shí)際使用頻率高的命令并不多,主要有以下幾個(gè):

  • pyenv version
  • pyenv install
  • pyenv global

一般安裝的步驟如下,先使用

pyenv install -l

查找需要安裝的 Python 版本:

這里還有一大串,就不全部截圖了,比如需要安裝 3.6.12 版本:

pyenv install 3.6.12

安裝之后可以使用

pyenv versions

查看安裝的版本,這里筆者安裝有兩個(gè),一個(gè)是系統(tǒng)自帶的 Python3.9 ,一個(gè)是 pyenv 安裝的 Python3.6

接著使用

pyenv global 3.6.12

切換到新安裝的版本:

這樣就切換到了新安裝的版本,如果不是全局替換而是局部替換的話(huà)可以使用 pyenv local / pyenv shell 。

要注意的是切換版本后 pip 的版本也會(huì)不一樣,而且兩個(gè)版本使用 pip 安裝的包也是獨(dú)立的:

5 參考

1、 Github-pyenv

2、 Github-pyenv-installer

3、 知乎-Python環(huán)境Memo

到此這篇關(guān)于Python使用pyenv實(shí)現(xiàn)多環(huán)境管理的文章就介紹到這了,更多相關(guān)Python pyenv多環(huán)境管理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python接口自動(dòng)化淺析如何處理接口依賴(lài)

    Python接口自動(dòng)化淺析如何處理接口依賴(lài)

    本文主要介紹如何提取token、將token作為類(lèi)屬性全局調(diào)用及充值接口如何攜帶token進(jìn)行請(qǐng)求,其他接口調(diào)用的前提條件是當(dāng)前用戶(hù)必須是登錄狀態(tài),如何處理接口依賴(lài)
    2021-08-08
  • Python人工智能學(xué)習(xí)PyTorch實(shí)現(xiàn)WGAN示例詳解

    Python人工智能學(xué)習(xí)PyTorch實(shí)現(xiàn)WGAN示例詳解

    這篇文章主要為大家介紹了人工智能學(xué)習(xí)PyTorch實(shí)現(xiàn)WGAN的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • Python實(shí)現(xiàn)處理逆波蘭表達(dá)式示例

    Python實(shí)現(xiàn)處理逆波蘭表達(dá)式示例

    這篇文章主要介紹了Python實(shí)現(xiàn)處理逆波蘭表達(dá)式操作,結(jié)合實(shí)例形式分析了逆波蘭表達(dá)式的概念、原理及Python針對(duì)逆波蘭表達(dá)式的定義與計(jì)算相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • Pandas?缺失數(shù)據(jù)處理代碼匯總

    Pandas?缺失數(shù)據(jù)處理代碼匯總

    這篇文章主要介紹了Pandas?缺失數(shù)據(jù)處理代碼匯總,在pandas中,缺失數(shù)據(jù)顯示為NaN。缺失值有3種表示方法,np.nan,none,pd.NA,更多相關(guān)介紹需要的朋友可以參考下面文章內(nèi)容
    2022-06-06
  • 對(duì)numpy中的transpose和swapaxes函數(shù)詳解

    對(duì)numpy中的transpose和swapaxes函數(shù)詳解

    今天小編就為大家分享一篇對(duì)numpy中的transpose和swapaxes函數(shù)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • python3中numpy函數(shù)tile的用法詳解

    python3中numpy函數(shù)tile的用法詳解

    今天小編就為大家分享一篇python3中numpy函數(shù)tile的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python繪制牛奶凍曲線(xiàn)(高木曲線(xiàn))案例

    Python繪制牛奶凍曲線(xiàn)(高木曲線(xiàn))案例

    這篇文章主要介紹了Python繪制牛奶凍曲線(xiàn)(高木曲線(xiàn))案例,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • 詳解selenium + chromedriver 被反爬的解決方法

    詳解selenium + chromedriver 被反爬的解決方法

    這篇文章主要介紹了詳解selenium + chromedriver 被反爬的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Python3利用Dlib19.7實(shí)現(xiàn)攝像頭人臉識(shí)別的方法

    Python3利用Dlib19.7實(shí)現(xiàn)攝像頭人臉識(shí)別的方法

    這篇文章主要介紹了Python 3 利用 Dlib 19.7 實(shí)現(xiàn)攝像頭人臉識(shí)別 ,利用python開(kāi)發(fā),借助Dlib庫(kù)捕獲攝像頭中的人臉,提取人臉特征,通過(guò)計(jì)算歐氏距離來(lái)和預(yù)存的人臉特征進(jìn)行對(duì)比,達(dá)到人臉識(shí)別的目的,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 解決pycharm不能自動(dòng)補(bǔ)全第三方庫(kù)的函數(shù)和屬性問(wèn)題

    解決pycharm不能自動(dòng)補(bǔ)全第三方庫(kù)的函數(shù)和屬性問(wèn)題

    這篇文章主要介紹了解決pycharm不能自動(dòng)補(bǔ)全第三方庫(kù)的函數(shù)和屬性問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03

最新評(píng)論