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

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

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

1 背景&概述

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

pip install tensorflow

然后。。。

好家伙???

居然沒有??

因為是 Python 3.9 ,去 pypi 搜索了,居然還真沒有支持的,最高只有 Python 3.8

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

這就是 pyenv ,一個簡單的 Python 版本管理器,可以輕松地在各個 Python 版本之間進行切換。

好了廢話不說,進入正題。

2 安裝

安裝有兩種方式:

  • 自動安裝
  • 手動安裝

2.1 自動安裝

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

2.2 手動安裝

手動安裝大致分為三步:

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

2.2.1 安裝 pyenv

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

yay -S pyenv

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

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

這一步是可選的 )接著就是編譯動態(tài) bash 擴展進行加速:

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

官方解釋說,不用害怕編譯失敗,因為仍然會正常工作。

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

這一步就是把 PYENV 以及更新后的 PATH 配置成環(huán)境變量,官方文檔按照 shell 類型進行了分類,根據(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)境變量后還要進行初始化操作,文檔同樣按 shell 類型進行了分類。

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 測試

重新開啟一個終端,輸入 pyenv ,輸出如下信息就表明安裝成功了:

3 基本使用

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

4 實際應(yīng)用

雖然上面說了這么多命令,但實際使用頻率高的命令并不多,主要有以下幾個:

  • pyenv version
  • pyenv install
  • pyenv global

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

pyenv install -l

查找需要安裝的 Python 版本:

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

pyenv install 3.6.12

安裝之后可以使用

pyenv versions

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

接著使用

pyenv global 3.6.12

切換到新安裝的版本:

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

要注意的是切換版本后 pip 的版本也會不一樣,而且兩個版本使用 pip 安裝的包也是獨立的:

5 參考

1、 Github-pyenv

2、 Github-pyenv-installer

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

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

相關(guān)文章

  • python3.5安裝python3-tk詳解

    python3.5安裝python3-tk詳解

    這篇文章主要介紹了python3.5安裝python3-tk詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • python+pillow繪制矩陣蓋爾圓簡單實例

    python+pillow繪制矩陣蓋爾圓簡單實例

    這篇文章主要介紹了Python+pillow繪制矩陣蓋爾圓簡單實例,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • python列表去重的5種常見方法實例

    python列表去重的5種常見方法實例

    在Python編程過程中經(jīng)常會遇到列表去重的問題,下面這篇文章主要給大家介紹了python列表去重的5種常見方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • 在Python 3中實現(xiàn)類型檢查器的簡單方法

    在Python 3中實現(xiàn)類型檢查器的簡單方法

    這篇文章主要介紹了在Python 3中實現(xiàn)類型檢查器的簡單方法,包括對函數(shù)注解這個新特性的介紹,需要的朋友可以參考下
    2015-07-07
  • Python教程自己實現(xiàn)軟件加密功能

    Python教程自己實現(xiàn)軟件加密功能

    網(wǎng)上的加密軟件不太安全,但對于日常學(xué)習(xí)而言,我們可以借助異或操作,實現(xiàn)一個簡單的文件加密程序,從而強化自身的編程能力
    2021-09-09
  • Django框架模板用法入門教程

    Django框架模板用法入門教程

    這篇文章主要介紹了Django框架模板用法,結(jié)合簡單入門實例形式分析了Django框架模板標簽、過濾器、模板繼承等概念與使用技巧,需要的朋友可以參考下
    2019-11-11
  • Python使用itertools模塊實現(xiàn)排列組合功能示例

    Python使用itertools模塊實現(xiàn)排列組合功能示例

    這篇文章主要介紹了Python使用itertools模塊實現(xiàn)排列組合功能,涉及Python基于itertools模塊product、permutations與combinations_with_replacement方法進行排列、組合等相關(guān)操作實現(xiàn)技巧,需要的朋友可以參考下
    2018-07-07
  • 對Pytorch 中的contiguous理解說明

    對Pytorch 中的contiguous理解說明

    這篇文章主要介紹了對Pytorch 中的contiguous理解說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 初步探究Python程序的執(zhí)行原理

    初步探究Python程序的執(zhí)行原理

    這篇文章主要介紹了Python程序的執(zhí)行原理,簡要地描述了其中的步驟,需要的朋友可以參考下
    2015-04-04
  • 利用OpenCV+Tensorflow實現(xiàn)的手勢識別

    利用OpenCV+Tensorflow實現(xiàn)的手勢識別

    這幾天沒事,想著再學(xué)點一些視覺識別方向的東西,因為之前做了驗證碼識別,有了機器學(xué)習(xí)的信心,因此這次打算做個手勢識別,下面這篇文章主要給大家介紹了關(guān)于利用OpenCV+Tensorflow實現(xiàn)的手勢識別的相關(guān)資料,需要的朋友可以參考下
    2022-11-11

最新評論

化州市| 曲阜市| 将乐县| 开远市| 安塞县| 太保市| 蒲江县| 新丰县| 民权县| 鹿邑县| 大兴区| 万载县| 罗田县| 清镇市| 承德县| 夏津县| 江达县| 石河子市| 肃宁县| 雅江县| 灵寿县| 醴陵市| 永丰县| 济宁市| 西林县| 格尔木市| 浦县| 石家庄市| 于都县| 宜黄县| 永泰县| 满洲里市| 朝阳区| 福清市| 阿鲁科尔沁旗| 溆浦县| 海林市| 八宿县| 宜城市| 华坪县| 浦东新区|