pyenv-win 配置指南?

在 Python 開發過程中,經常會遇到需要使用不同版本 Python 的情況。比如,舊項目依賴某個特定的 Python 版本,而新項目則要求使用更新的版本。這時,版本管理工具就顯得尤為重要。pyenv-win就是一款專門為 Windows 系統設計的 Python 版本管理工具,它能夠讓開發者在同一臺機器上輕松安裝、切換和管理多個 Python 版本。本文將詳細介紹pyenv-win的配置方法以及可能遇到的問題和解決辦法。?

安裝前的準備工作?

  1. 安裝 Git:pyenv-win依賴于 Git 進行安裝和更新。如果你的系統尚未安裝 Git,可以前往Git 官網下載安裝包進行安裝。安裝過程中,按照默認設置即可,確保勾選將 Git 添加到系統路徑的選項,以便在命令行中能夠直接使用 Git 命令。?
  1. 安裝 Python(可選):雖然pyenv-win可以管理多個 Python 版本,但首次安裝pyenv-win時,系統中至少需要有一個 Python 版本。你可以從Python 官網下載并安裝一個 Python 版本。安裝時,務必勾選 “Add Python to PATH” 選項,這樣系統才能正確識別 Python 命令。?

安裝 pyenv-win?

方法一:使用 PowerShell 安裝?

  1. 以管理員身份打開 PowerShell。在 Windows 搜索欄中輸入 “PowerShell”,右鍵點擊 “Windows PowerShell”,選擇 “以管理員身份運行”。?
  1. 在 PowerShell 中運行以下命令,該命令會從 GitHub 下載并運行pyenv-win的安裝腳本:?

?

TypeScript取消自動換行復制

Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1" ; &"./install-pyenv-win.ps1"?

?

  1. 可能遇到的問題及解決辦法:?
  • 問題:運行上述命令時遇到 “未經授權的訪問錯誤”。?
  • 解決辦法:再次以管理員身份打開 PowerShell,運行命令Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine,該命令用于設置腳本執行策略,允許運行從互聯網下載且經過數字簽名的腳本。?
  • 問題:遇到 “未數字簽名” 錯誤。?
  • 解決辦法:執行命令Unblock-File (Join-Path $env:pyenv 'bin/pyenv.ps1')來解除對pyenv腳本的阻止。?

方法二:手動安裝?

  1. 訪問pyenv-win的GitHub 倉庫。?
  1. 點擊頁面上的 “Code” 按鈕,選擇 “Download ZIP” 下載pyenv-win的壓縮包。?
  1. 創建一個.pyenv文件夾在你的用戶目錄下。可以通過在 PowerShell 或 Git Bash 中運行命令mkdir $HOME/.pyenv來創建。?
  1. 解壓下載的pyenv-win.zip文件到剛剛創建的.pyenv目錄中。解壓后,你應該在$HOME/.pyenv/pyenv-win/bin路徑下看到bin目錄。?

方法三:使用 Windows 包管理器安裝?

  1. 使用 Chocolatey 安裝:如果你的系統安裝了 Chocolatey 包管理器,可以在命令提示符或 PowerShell 中運行命令choco install pyenv-win來安裝pyenv-win。?
  1. 使用 Scoop 安裝:如果使用 Scoop 包管理器,首先在 PowerShell 中運行命令scoop bucket add main添加主存儲庫,然后運行scoop install main/pyenv來安裝pyenv-win。需要注意的是,在撰寫本文時,pyenv-win尚未在winget存儲庫中。?

配置環境變量?

安裝完成后,需要配置系統環境變量,確保系統能夠正確識別pyenv-win。?

  1. 添加 PYENV 變量:按下 Windows 鍵,搜索 “編輯賬戶的環境變量” 并打開。在 “用戶變量” 部分,點擊 “新建” 按鈕。?
  • 變量名:PYENV?
  • 變量值:C:\Users\你的用戶名\.pyenv\pyenv-win(請將 “你的用戶名” 替換為你實際的 Windows 用戶名)?
  1. 添加 PYENV_HOME 變量:同樣在 “用戶變量” 中,點擊 “新建”。?
  • 變量名:PYENV_HOME?
  • 變量值:C:\Users\你的用戶名\.pyenv\pyenv-win?
  1. 添加 PYENV_ROOT 變量:繼續在 “用戶變量” 中新建變量。?
  • 變量名:PYENV_ROOT?
  • 變量值:C:\Users\你的用戶名\.pyenv\pyenv-win?
  1. 更新 Path 變量:在 “系統變量” 中找到 “Path” 變量,雙擊打開編輯窗口。點擊 “新建”,添加以下兩個路徑:?
  • %USERPROFILE%\.pyenv\pyenv-win\bin?
  • %USERPROFILE%\.pyenv\pyenv-win\shims?

完成上述操作后,點擊 “確定” 保存所有環境變量的更改。?

可能遇到的環境變量配置問題及解決辦法?

  1. 問題:重啟 PowerShell 后,執行pyenv --version提示 "pyenv 不是內部或外部命令"。?
  • 解決辦法:檢查環境變量配置是否正確,確保%USERPROFILE%\.pyenv\pyenv-win\bin和%USERPROFILE%\.pyenv\pyenv-win\shims已添加到系統 Path 變量中;重新打開 PowerShell 窗口或重啟電腦使環境變量生效。?
  1. 問題:設置了全局 Python 版本,但執行python --version仍顯示舊版本。?
  • 解決辦法:檢查系統環境變量中是否存在其他 Python 路徑,優先于pyenv的路徑,如有則調整順序;執行pyenv rehash更新 shim 文件。?

驗證安裝?

重新打開一個新的 PowerShell 窗口(確保不是之前以管理員身份打開的那個),運行命令pyenv --version。如果安裝和配置成功,該命令會顯示pyenv-win的版本號,例如 “pyenv 2.64.11”。?

使用 pyenv-win 管理 Python 版本?

查看可安裝版本?

運行命令pyenv install --list,該命令會列出所有pyenv-win支持安裝的 Python 版本(僅限 Windows 預編譯版)。列表可能會很長,你可以通過管道符|結合findstr命令進行篩選,例如pyenv install --list | findstr 3.8,這將只列出與 Python 3.8 相關的版本。?

安裝指定版本?

使用命令pyenv install <版本號>來安裝指定版本的 Python。例如,要安裝 Python 3.9.5,運行pyenv install 3.9.5。安裝過程可能需要一些時間,期間會從 Python 官方網站下載安裝包并進行安裝。如果下載速度很慢,可以嘗試使用鏡像源加速下載,命令格式為pyenv install <版本號> --mirror <鏡像源地址>,例如pyenv install 3.9.5 --mirror https://npm.taobao.org/mirrors/python/。另外,也可以手動從 Python 官網下載對應版本的.zip文件,將文件放入~\.pyenv\pyenv-win\install_cache目錄下,然后再執行pyenv install <版本號>命令進行安裝。?

查看已安裝版本?

運行pyenv versions命令,該命令會列出所有已安裝的 Python 版本,其中帶有*號的版本表示當前激活的版本。?

設置全局默認版本?

使用pyenv global <版本號>命令可以設置全局默認的 Python 版本。例如,pyenv global 3.9.5將把系統的全局默認 Python 版本設置為 3.9.5,在沒有其他局部或臨時版本設置的情況下,系統將使用該版本的 Python。?

設置局部版本(當前目錄)?

在項目目錄中,運行pyenv local <版本號>命令可以設置當前目錄及其子目錄使用的 Python 版本。執行該命令后,會在當前目錄下生成一個.python-version文件,文件內容為設置的版本號。當在該目錄及其子目錄中運行 Python 相關命令時,系統會自動使用該版本的 Python。?

臨時切換版本(僅當前會話)?

運行pyenv shell <版本號>命令可以在當前 Shell 會話中臨時使用指定版本的 Python。這種設置只在當前打開的 Shell 窗口中有效,關閉窗口后設置失效。?

驗證當前 Python 路徑?

運行pyenv which python命令,該命令會返回當前使用的 Python 解釋器的路徑,例如~\.pyenv\pyenv-win\versions\3.9.5\python.exe,通過該路徑可以確認當前使用的 Python 版本是否為預期版本。?

更新 pyenv-win?

如果是通過 Chocolatey 安裝的pyenv-win,可以使用choco upgrade pyenv-win命令進行更新。如果是通過其他方式安裝的,可以運行pyenv update命令來更新pyenv-win的版本數據庫緩存,以便獲取最新的可安裝 Python 版本信息。?

卸載 Python 版本?

使用pyenv uninstall <版本號>命令可以卸載指定版本的 Python。例如,pyenv uninstall 3.9.5將卸載已安裝的 Python 3.9.5 版本。在卸載前,請確保該版本沒有被當前項目或系統其他部分使用。?

清理緩存和版本?

在安裝新版本的 Python 或安裝新的 Python 工具后,建議運行pyenv rehash命令。該命令會重新生成pyenv的 shim,確保系統能夠正確找到新安裝的 Python 版本及其相關工具的可執行文件。?

使用過程中可能遇到的問題及解決辦法?

  1. 問題:執行pyenv global或pyenv local后,Python 版本未變化。?
  • 解決辦法:使用pyenv versions查看當前激活的版本,確認設置是否成功;檢查項目目錄下是否存在.python-version文件,可能被局部設置覆蓋。?
  1. 問題:使用某個 Python 版本安裝了包,但無法導入。?
  • 解決辦法:確保使用正確的 Python 版本安裝包,例如:pyenv shell 3.9.5后再執行pip install package-name;檢查包是否安裝在對應版本的 site-packages 目錄中。?
  1. 問題:執行pyenv update時出現網絡錯誤或權限問題。?
  • 解決辦法:如果是通過包管理器(如 Chocolatey)安裝的pyenv-win,使用對應包管理器的更新命令(如choco upgrade pyenv-win);手動更新:刪除~\.pyenv\pyenv-win目錄,重新執行安裝步驟。?

通過以上步驟,你已經成功安裝并配置了pyenv-win,并且能夠熟練使用它來管理多個 Python 版本。在實際開發過程中,根據不同項目的需求靈活切換 Python 版本,將大大提高開發效率,避免因版本不兼容導致的各種問題。同時,遇到常見問題時,也能根據上述解決辦法快速處理,保障開發順利進行。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/86864.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/86864.shtml
英文地址,請注明出處:http://en.pswp.cn/web/86864.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MongoDB 常見查詢語法與命令詳解

MongoDB 作為文檔型數據庫&#xff0c;其查詢語言基于 BSON&#xff08;二進制 JSON&#xff09;格式&#xff0c;與傳統關系型數據庫的 SQL 語法有較大差異。 一、基本查詢命令 1. find()&#xff1a;查詢文檔 語法&#xff1a;db.collection.find(查詢條件, 投影)示例&…

AlpineLinux安裝docker

或許你在docker中使用 Alpine Linux 的鏡像使用得多,但是有沒有想過在 Alpine Linux 上安裝 Docker 來使用呢?默認情況下,Docker 包位于社區倉庫中,因此在使用包管理來安裝docker之前建議更換為國內源,并開啟社區倉庫的鏈接。 下面的操作是在root用戶下運行的,如果要使用…

docker安裝gitlab并配置ssl證書

本篇安裝環境 Docker版本&#xff1a;Docker version 28.3.0 域名&#xff1a;test.disallow.cn 自簽證書&#xff1a;/etc/gitlab/ssl&#xff08;已經存放在該目錄&#xff09; 一、拉取鏡像 docker run -itd \--privilegedtrue \--hostname gitlab.test.disallow.cn \--p…

Java開發者轉型AI時代的路徑

Java開發者轉型AI時代的路徑 引言 隨著人工智能技術的飛速發展&#xff0c;AI已不再是遙不可及的未來&#xff0c;而是深刻影響著各行各業的當下。對于Java開發者而言&#xff0c;面對AI浪潮&#xff0c;如何順勢而為&#xff0c;實現職業轉型與技能升級&#xff0c;成為擺在…

QT6 源(140)模型視圖架構里的視圖總基類 QAbstractItemView:

&#xff08;1&#xff09;先給出本類的繼承關系 &#xff1a; &#xff08;2&#xff09;Qt 已經預先為視圖定義了鍵盤功能&#xff0c;Qt 大師們通過編程&#xff0c;已經完善了視圖對鍵盤的響應操作 &#xff1a; &#xff08;3&#xff09;因為本類是抽象基類&#xff0c;無…

vue上傳各種文件,并預覽組件,(預覽,下載),下載resources目錄下文件

前端組件vue 最終效果 <template><div ><div class"file-list" v-if"existingFiles.length > 0"><div class"file-card" v-for"(file, index) in existingFiles" :key"file.id"><div clas…

【CS創世SD NAND征文】SD NAND賦能新一代兒童智能玩具

基于全志F1C100S的高可靠存儲方案 文章目錄 基于全志F1C100S的高可靠存儲方案[toc]前言 一、應用產品介紹&#xff1a;兒童智能玩具的需求演變二、技術方案介紹&#xff1a;構建智能玩具的"大腦"與"記憶庫"三、核心技術模塊分析3.1 主控芯片&#xff1a;全…

mac觸摸板設置右鍵

在 Mac 筆記本上&#xff0c;觸摸板默認沒有物理左右鍵分區&#xff0c;但可以通過以下方式實現“右鍵”功能&#xff08;稱為 輔助點按&#xff09;&#xff1a; 一、啟用與使用右鍵&#xff08;輔助點按&#xff09; 步驟1&#xff1a;檢查系統設置 點擊屏幕左上角 &#x…

穩定幣發行量創紀錄地超過 Visa 交易量

穩定幣發行量創紀錄地超過 Visa 交易量 穩定幣的崛起正在重塑全球金融格局&#xff0c;華夏基金首席執行官甘天&#xff08;Gan Tian&#xff09;強調了穩定幣的快速增長&#xff0c;并指出穩定幣的交易量在短短五年內就超過了Visa 40年的交易量。這凸顯了貨幣使用的轉變。 穩…

編程 IDE 混戰簡史:從 Copilot 到 Claude Code,一場重塑開發方式的戰爭

unsetunset引言&#xff1a;開發新紀元的序幕unsetunset 編程世界&#xff0c;從最初依賴打孔卡和簡陋的命令行工具&#xff0c;到如今功能琳瑯滿目的集成開發環境&#xff08;IDE&#xff09;&#xff0c;每一步都見證了效率與智能的飛躍。IDE作為開發者與代碼交互的核心界面&…

軟測八股--計算機網絡

計算機網絡基礎 局域網廣域網 局域網&#xff1a;一個區域內由多臺計算機互聯成的計算機組&#xff08;學校&#xff0c;辦公室&#xff0c;公司/學校等&#xff09;。可以實現文件管理&#xff0c;應用軟件管理&#xff0c;答應及管理&#xff0c;掃描儀共享等。是封閉的&am…

某省職業院校技能大賽 高職組“信息安全管理與評估”賽項第二部分:應急響應

&#xff01;&#xff01;&#xff01;需要環境可私信博主&#xff01;&#xff01;&#xff01; &#xff01;&#xff01;&#xff01;若有錯誤歡迎指正&#xff01;:) 序號任務要求1提交攻擊者的兩個內網IP地址2提交網站管理員用戶的用戶名和密碼3提交黑客得到 mysql 服務的…

OkHttp 簡單配置

OkHttpClient 的簡單配置&#xff0c;包含重試&#xff0c;線程池 Configuration public class OkHttpConfig {Bean("deSourceOkHttp")public OkHttpClient okHttpClient() {return new OkHttpClient.Builder().connectTimeout(60, TimeUnit.SECONDS).readTimeout(3…

群暉nas安裝moodle跳坑記錄

1&#xff0c;套件里面直接安裝 會安裝好幾個依賴&#xff0c;包括php apach &#xff0c;數據庫。這些安裝的時間就比較長。 安裝完成后自動安裝 Moodle。 過程也很長數據庫里面的表有接近500張。 2&#xff0c;安裝位置 順便提一下 nas程序的安裝位置 這兩個位置好像都不是…

鴻蒙HarmonyOS 5小游戲實踐:打磚塊游戲(附:源代碼)

打磚塊是一款經典的游戲&#xff0c;它簡單易懂卻又充滿挑戰性。本文將介紹如何使用ArkUI框架開發一個完整的打磚塊游戲&#xff0c;涵蓋游戲邏輯設計、UI實現和交互處理等核心內容。 游戲架構設計 我們的打磚塊游戲采用了組件化設計&#xff0c;主要分為兩個部分&#xff1a;…

Flutter MobX 響應式原理與實戰詳解

&#x1f4da; Flutter 狀態管理系列文章目錄 Flutter 狀態管理(setState、InheritedWidget、 Provider 、Riverpod、 BLoC / Cubit、 GetX 、MobX 、Redux) setState() 使用詳解&#xff1a;原理及注意事項 InheritedWidget 組件使用及原理 Flutter 中 Provider 的使用、注…

淺談國產數據庫多租戶方案:提升云計算與SaaS的資源管理效率

近年來&#xff0c;“數據庫多租戶”這一概念在技術圈內頻頻出現&#xff0c;成為云計算和SaaS&#xff08;軟件即服務&#xff09;架構中的重要組成部分。多租戶架構不僅為企業提供了高效的資源隔離與共享解決方案&#xff0c;還能大幅降低成本&#xff0c;提高系統的可擴展性…

Wpf的Binding

前言 wpf的Binding就像一個橋梁&#xff0c;它的作用就是連接邏輯層與界面層&#xff0c;既能夠把邏輯層的數據搬到界面層展示&#xff0c;又能將界面層的數據更改后傳遞到邏輯層&#xff0c;Binding的數據來源就是Binding的源&#xff0c;數據展示的地方就是Binding的目標。 …

嵌入式單片機中SPI串行外設接口控制與詳解

串行外設接口(Serial Peripheral Interface)的簡稱也叫做SPI,是一種高速的、全雙工同步通信的一種接口,串行外設接口一般是需要4根線來進行通信(NSS、MISO、MOSI、SCK),但是如果打算實現單向通信(最少3根線),就可以利用這種機制實現一對多或者一對一的通信。 第一:…

【世紀龍科技】新能源汽車動力電池總成裝調與檢修教學軟件

在新能源汽車產業“技術迭代快、安全要求高、實操風險大”的背景下&#xff0c;職業院校如何以“項目式教學改革”為突破口&#xff0c;破解傳統實訓“高成本、高風險、低效率”的困局&#xff1f;江蘇世紀龍科技以桌面VR沉浸式技術為支點&#xff0c;推出《新能源動力電池總成…