簡體   English   中英

如何擺脫 Visual Studio 2017 中損壞的 Python 環境?

[英]How to get rid of broken Python Environments in Visual Studio 2017?

我必須使用 python 為大學開設一門新課程。 大約一年前,我安裝了 Anaconda,但從未真正使用過它。 在開始之前我想更新所有內容,所以我卸載了我的 python 和 Anaconda 版本並重新安裝了最新版本(我知道我可以更新所有內容)。

我想使用 VS2017,因為這是我習慣使用的 IDE(來自 ac# 背景),但是在 python 環境窗口中,我的舊版本仍然可見,盡管帶有刪除線字體:

在此處輸入圖片說明

VS2017 沒有刪除損壞/卸載環境的選項,但請您訪問此網站 在底部有一個描述我解決我的問題。 通常我真的不喜歡編輯注冊表,因為我不知道如何處理這些東西,但是這是直接來自 docs.microsoft.com 頁面,我認為這沒問題。

唯一的問題是,這些更改對我的問題沒有任何影響。 (已經做了一些明顯的事情,比如重新啟動 VS2017 和 Windows)。

附加信息我的問題是我想運行我們從課程中獲得的 python 腳本框架,以檢查所有模塊和 python 本身是否正常工作。 但是,我總是在某些模塊(例如matplotlib )上遇到dll load failed錯誤。 在其他 IDE(如 Anaconda 的集成 Spyder IDE)上運行腳本但是效果很好,所以我知道這些模塊很適合在我的機器上運行。 在進一步研究之前,我想排除上述問題作為錯誤來源。

使用進程監視器檢查(啟動 VS 時監視處於活動狀態,直到調出其中的 Python 環境列表;然后停止監視並設置過濾器: Process namedevenv.exePath包含pythoncondaContinuumAnalytics (三個單獨的過濾器))顯示 VS 在這些位置搜索 Python 安裝數據:

  • 注冊表項,在HKCU (文檔沒有提到這一點)和HKLM 下

  • 文件:

    • <user profile>\\.conda目錄
    • 它還在幾個位置查找conda.exe
      • 我沒有它,但如果我有,就可以使用procmon查看 VS 正在使用哪個命令行調用它。 然后你可以自己做同樣的事情,看看 VS 從中得到什么信息。

如果 VS 找到您列出的條目,則引用您在列表中看到的內容的某些內容必須位於這些位置的某處。


要刪除條目,正如我已經提到的,

  • 首先檢查您是否安裝了相應的產品,如果安裝則將其卸載。 HKCU下的條目是指為每個用戶安裝的產品,因此您必須以自己的身份(或者更確切地說,以您運行 VS 的同一用戶身份)運行appwiz.cpl才能查看它們。
  • 如果您真的沒有安裝它,請執行通常的手動清潔程序。 從注冊表和磁盤中刪除任何看起來相關(按名稱、位置)的內容,包括上述條目。 當然,風險自負。 對於 VS 停止查找它們,刪除條目應該就足夠了。 您也可以嘗試重新安裝和卸載完全相同版本的軟件(這可能很難找到),並希望這次能正確卸載。

要在沒有修復選項的 Visual Studio 中更正 python 環境,或刪除無效環境,請使用以下步驟直接修改注冊表。 當您更改注冊表時,Visual Studio 會自動更新 Python 環境窗口。

  1. 運行 regedit.exe。
  2. 導航到 HKEY_LOCAL_MACHINE\\SOFTWARE\\Python。 對於 IronPython,請改用 IronPython。
  3. 展開與分布匹配的節點,例如 Python Core for CPython 或 ContinuumAnalytics for Anaconda。 對於 IronPython,展開版本號節點。
  4. 檢查 InstallPath 節點下的值: 在此處輸入圖片說明
  5. 如果該環境仍然存在於您的計算機上,請將 ExecutablePath 的值更改為正確的位置。 還要根據需要更正 (Default) 和 WindowedExecutablePath 值。
  6. 如果您的計算機上不再存在該環境,並且您希望將其從 Python Environments 窗口中刪除,請刪除 InstallPath 的父節點,例如上圖中的 3.6。

參考:微軟文檔 - https://docs.microsoft.com/en-us/visualstudio/python/managing-python-environments-in-visual-studio?view=vs-2019#fix-or-delete-invalid-environments

暫無
暫無

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

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