簡體   English   中英

如何將項目重新路由到 PyCharm 中的另一個 Python 版本? (錯誤:'C:\Users\...\python.exe' 處沒有 Python)

[英]How do I reroute a project to another Python version in PyCharm? (Error: No Python at 'C:\Users\…\python.exe')

我想用 64 位版本替換 Python 3.8 32 位以安裝 face_recognition 模塊,所以我刪除了以前的版本並嘗試通過轉到文件 > 設置 > 項目解釋器 > 將項目重新路由到新的 Python 版本Show all > Show Paths for Selected Interpreter,並從新文件夾中添加所有 Python 文件並刪除舊文件。

愚蠢的他媽的圖片 smh

但是,當我嘗試安裝模塊時,它仍然向我顯示此錯誤:

(Will2.0) C:\Users\solei\PycharmProjects\Will>pip install face_recognition
No Python at 'C:\Users\solei\AppData\Local\Programs\Python\Python38-32\python.exe'

我還嘗試轉到 Windows 系統屬性並更改那里所有顯示“Python38-32”的內容,但它仍然無法正常工作。 不過,當我創建一個新環境時它確實有效,所以至少我知道 Python 安裝正確。 只是這個環境讓我感到困惑(順便說一句,我不想為此創建一個新項目。我已經在其中安裝了很多模塊。)。

您選擇的解釋器不是您已替換為 64 位版本的系統解釋器,而是您項目的虛擬環境解釋器 虛擬環境的文件在該過程中未更改,需要更新才能再次使用該環境。

  • 系統解釋器是使用安裝可執行文件安裝的 Python 解釋器。 在您的情況下,它位於C:\Users\solei\AppData\Local\Programs\Python\Python38\ 您可以安裝多個系統解釋器,例如在旁邊安裝 Python 2.7、Python 3.7 和 Python 3.8。

  • 虛擬環境解釋器是使用來自 Python 標准庫的venv package 創建的另一個解釋器的副本。 您可以在系統中擁有許多虛擬環境解釋器(例如,每個項目一個或多個)

  • 基本解釋器是用作venv package 模板的解釋器。 每個虛擬環境解釋器都有其運行所需的基本解釋器(通常是系統解釋器)。 更改或升級基本解釋器需要更新虛擬環境。

如果我們快速瀏覽一下文檔,虛擬環境被描述為

一個自包含的目錄樹,其中包含特定版本的 Python 的 Python 安裝,以及許多附加包。

這意味着您可以為每個項目設置一個單獨的環境,其中包含自己的包。 環境是管理項目包的一種非常有效的方式,這就是為什么PyCharm 默認建議在系統解釋器上創建這樣的環境。 簡而言之,它允許您擁有兩個不同項目使用的同一個 package 的兩個不同版本,而包不會相互沖突。

這也解釋了為什么您的虛擬環境文件不受升級影響。


現在,不幸的是,我不是 Python 專家。 我不得不花一些時間研究 Python 如何處理 Windows 和 Ubuntu 上的虛擬環境。 似乎環境總是需要系統中存在的基本系統解釋器。 如果您刪除或更改基本解釋器的位置,環境將失敗為 function。

正如我在編輯此答案之前提到的,理論上您可以簡單地編輯位於虛擬環境根文件夾中的pyenv.cfg文件。 在實踐中,這只適用於簡單的情況,它不是更新虛擬環境的預期方式。

您需要升級虛擬環境的文件以使用新的系統解釋器。 這可能意味着 64 位版本超過 32 位版本,甚至是 Python 的更新版本 - 例如我們從 3.7 升級到 3.8。

  1. 關閉 PyCharm

  2. 檢查您要升級到的系統解釋器是否在系統路徑上

    您可以通過運行快速檢查

    python -c "import platform; print(platform.architecture())"

    對你來說,output 應該是這樣的

    ('64bit', 'WindowsPE')

    如果您的 output 不同,則需要在步驟 4 中為 Python 可執行文件的絕對路徑添加前綴)。

  3. 導航到虛擬環境的目錄

    您要查找的目錄包含IncludeLibScripts目錄以及pyenv.cfg文件。 從您的屏幕截圖中,該目錄似乎是您項目的根目錄,因此在您的情況下:

     cd C:\Users\solei\PycharmProjects\Will2.0\
  4. 升級虛擬環境

    python -m venv --upgrade.

    ...或者如果 Python 不在您的路徑上

    C:\Users\solei\AppData\Local\Programs\Python\Python38\python.exe -m venv --upgrade.

    . 在命令中指的是當前目錄。

  5. 打開 PyCharm 並驗證您的環境是否正常工作

    ...或者只是嘗試直接從命令行運行pip 請注意,您需要首先通過運行Scripts\activate.bat批處理文件來激活虛擬環境


如果上述方法不起作用,您可能需要創建一個新的虛擬環境。 您可以輕松創建一個,而無需創建新的 PyCharm 項目。 請參閱此PyCharm 文檔以供參考。 但是,您仍然需要再次重新下載所有必需的軟件包。

為簡單起見,我建議在項目根目錄下的.venv文件夾中創建新的虛擬環境。

免責聲明

我僅在 Windows 沙箱內的新 Windows 安裝上單獨測試了 Python 的行為。 我能夠安裝 32 位 Python,創建虛擬環境,用 64 位版本替換 Python 並升級虛擬環境以使其再次正確啟動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM