Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Visual Studio 2017中摆脱破损的Python环境?_Python_Visual Studio_Visual Studio 2017_Anaconda - Fatal编程技术网

如何在Visual Studio 2017中摆脱破损的Python环境?

如何在Visual Studio 2017中摆脱破损的Python环境?,python,visual-studio,visual-studio-2017,anaconda,Python,Visual Studio,Visual Studio 2017,Anaconda,我必须使用python为大学开设一门新课程。大约一年前,我安装了Anaconda,但从未真正使用过它。在开始之前,我想更新所有内容,所以我卸载了python和Anaconda版本,并重新安装了最新版本(我知道我可以更新所有内容) 我希望使用VS2017,因为这是我使用过的IDE(来自c#背景),但是在python环境窗口中,我的旧版本仍然可见,尽管使用了一种穿透字体: VS2017没有删除已损坏/已卸载环境的选项,但请参考。在底部有一个描述我的解决我的问题。通常我不太喜欢编辑注册表,因为我不知

我必须使用python为大学开设一门新课程。大约一年前,我安装了Anaconda,但从未真正使用过它。在开始之前,我想更新所有内容,所以我卸载了python和Anaconda版本,并重新安装了最新版本(我知道我可以更新所有内容)

我希望使用VS2017,因为这是我使用过的IDE(来自c#背景),但是在python环境窗口中,我的旧版本仍然可见,尽管使用了一种穿透字体:

VS2017没有删除已损坏/已卸载环境的选项,但请参考。在底部有一个描述我的解决我的问题。通常我不太喜欢编辑注册表,因为我不知道如何处理这些东西,但是这是直接从docs.microsoft.com页面上获得的,我认为这是可以的

问题只是,这些变化对我的问题没有任何影响。 (已经做了一些显而易见的事情,比如重启VS2017和Windows)

其他信息 我的问题是,我想运行我们从课程中获得的python脚本框架,以检查所有模块和python本身是否正常工作。但是,我总是在某些模块上出现
dll加载失败
错误(例如
matplotlib
)。不过,在其他IDE(如Anaconda的集成Spyder IDE)上运行脚本效果很好,所以我知道这些模块可以在我的机器上运行。在进一步研究之前,我想排除上述问题作为错误源的可能性

检查(启动VS并激活监视,直到在其中显示Python环境列表;然后停止监视并设置筛选器:
进程名称
devenv.exe
路径
包含
Python
conda
连续分析
(三个单独的筛选器))显示VS在这些位置搜索Python安装数据:

  • 注册表项,在HKCU下(文档未提及此项)和HKLM下:

    • \Software\Python
      \Software\Wow6432Node\Python
      ()
  • 档案:

    • \.conda
      目录
    • 它还会在几个位置查找
      conda.exe
      • 我没有它,但如果我有,就可以通过
        procmon
        查看VS使用哪个命令行调用它。然后你可以自己做同样的事情,看看VS从中得到了什么信息
如果VS找到了您列出的条目,那么与您在列表中看到的内容相关的内容必须位于这些位置下的某个位置


要删除条目,正如我已经提到的

  • 首先检查是否安装了相应的产品,如果安装了,请将其卸载。
    HKCU
    下的条目指的是每个用户安装的产品,因此您必须以自己的身份运行
    appwiz.cpl
    才能看到它们
  • 如果您真的没有安装,请执行通常的手动清洁程序。从注册表和磁盘中删除任何看起来相关的内容(按名称、位置),包括上述条目。当然,风险由你自己承担。要让VS停止查找它们,删除条目就足够了。您也可以尝试重新安装和卸载完全相同版本的软件(这可能很难找到),希望这次能正确卸载

要更正Visual Studio中没有修复选项的python环境,或删除无效环境,请使用以下步骤直接修改注册表。当您更改注册表时,VisualStudio会自动更新“Python环境”窗口

  • 运行regedit.exe
  • 导航至HKEY\U LOCAL\U MACHINE\SOFTWARE\Python。对于IronPython,请看 而对于IronPython
  • 展开与发行版匹配的节点,例如Python核心 用于CPython或用于Anaconda的连续分析。对于IronPython, 展开“版本号”节点
  • 检查InstallPath节点下的值:
  • 如果计算机上仍然存在该环境,请将ExecutablePath的值更改为正确的位置。还可以根据需要更正(默认)和WindowedExecutablePath值
  • 如果您的计算机上不再存在该环境,并且希望将其从Python环境窗口中删除,请删除InstallPath的父节点,如上图中的3.6

  • 参考:Microsoft文档-

    “更改”--具体更改是什么?您在文档中提到的注册表中看到了什么?您更改了什么?“对我的问题没有任何影响”——澄清。在Python环境中,您是否仍然看到与您所展示的完全相同的情况?此外,您是否尝试过文档中提到的任何其他措施,例如修复已安装的Python产品?@ivan_pozdeev是的,所有内容都与描述类似,我删除了Python 3.6节点。我没有修复版本3.6,因为我卸载了它。你真的没有安装其他Python产品吗?您可能已经为每个用户安装了它们,在这种情况下,您需要像自己一样运行
    appwiz.cpl
    ,而不使用提升。嗯,如果我没有记错的话,旧版本3.6只安装在我的用户上,新版本适用于所有用户。我会调查的。非常感谢,问题是Phyton节点位于香港大学。我卸载了所有与Python相关的东西,然后删除了那里的Python3.6节点。现在我的Python环境窗口已经清理完毕,我将重新安装Anaconda,希望之后一切都会好起来!