python - 如何摆脱 Visual Studio 2017 中损坏的 Python 环境?
问题描述
我必须使用 python 为大学开设一门新课程。大约一年前,我安装了 Anaconda,但从未真正使用过它。在开始之前,我想更新所有内容,所以我卸载了我的 python 和 Anaconda 版本并重新安装了最新版本(我知道我可以更新所有内容)。
我想使用 VS2017,因为这是我习惯使用的 IDE(来自 ac# 背景),但是在 python 环境窗口中,我的旧版本仍然可见,尽管带有删除线字体:
VS2017 没有删除损坏/卸载环境的选项,但请您参考此网站。在底部有我解决我的问题的描述。通常我不太喜欢编辑注册表,因为我不知道如何处理这些东西,但是这直接来自 docs.microsoft.com 页面,我认为没关系。
唯一的问题是,这些更改对我的问题没有任何影响。(已经做了一些明显的事情,比如重启 VS2017 和 Windows)。
附加信息
我的问题是我想运行我们从课程中获得的 python 脚本框架,以检查所有模块和 python 本身是否正常工作。dll load failed
但是,我总是在某些模块上遇到错误(matplotlib
例如)。但是,在其他 IDE(如 Anaconda 的集成 Spyder IDE)上运行脚本效果很好,所以我知道这些模块很适合在我的机器上运行。在进一步研究之前,我想将上述问题排除为错误来源。
解决方案
使用Process Monitor检查(启动 VS 并激活监控,直到在其中显示 Python 环境列表;然后停止监控和设置过滤器:Process name
is devenv.exe
、Path
containspython
或conda
(ContinuumAnalytics
三个单独的过滤器))表明 VS 搜索这些位置以安装 Python数据:
HKCU(文档未提及)和HKLM下的注册表项:
\Software\Python
和\Software\Wow6432Node\Python
(被 32 位进程视为前者)
文件:
<user profile>\.conda
目录- 它还
conda.exe
在几个位置 寻找- 我没有,但如果我有,就可以看到
procmon
VS 使用哪些命令行调用它。然后你可以自己做同样的事情,看看 VS 从中得到什么信息。
- 我没有,但如果我有,就可以看到
如果 VS 找到您列出的条目,则与您在列表中看到的内容相关的内容必须位于这些位置的某处。
正如我已经提到的,要删除条目,
- 首先检查您是否安装了相应的产品,如果安装了,请将其卸载。下面的条目是
HKCU
指每个用户安装的产品,因此您必须以appwiz.cpl
自己的身份运行(或者更确切地说,以您运行 VS 的同一用户身份运行)才能看到它们。 - 如果您真的没有安装它,请执行通常的手动清洁程序。从注册表和磁盘中删除任何看起来相关的内容(按名称、位置),包括上述条目。当然,风险自负。要让 VS 停止查找它们,删除条目就足够了。您也可以尝试重新安装和卸载完全相同版本的软件(可能很难找到),并希望这次能正确卸载。
推荐阅读
- batch-file - 我将如何使用批处理文件在指定位置创建新文件
- c++ - 在 C++ 中将字符串添加到另一个字符串时的奇怪行为
- python-3.x - How can I condence this function into returning a value from a list comprehension?
- python - Changing variable values in for loop?
- java - Does singly linked list have to be defined recursively?
- html - How do I create a draggable div that only accepts one at a time
- python - 有没有办法使用输入来爬嵌套字典?
- firebase-analytics - 控制台上的 Firebase 自定义事件参数分析
- r - Create and save a plot for different groups using ggplot for loop from one .csv file
- google-cloud-platform - Why is Cloud AutoML Vision rotating my image?