Как избавиться от испорченных сред Python в Visual Studio 2017? - PullRequest
0 голосов
/ 26 марта 2019

Я должен сделать новый курс для университета с использованием Python. Примерно год назад я установил Anaconda, но никогда не работал с ней. Перед запуском я хотел обновить все, поэтому я удалил свои версии Python и Anaconda и заново установил самую новую версию (я знаю, что мог просто обновить все).

Я бы хотел работать с VS2017, так как это IDE, с которой я работал (исходя из ac # background), однако в окне среды python мои старые версии все еще видны, хотя с зачисткой через шрифт:

enter image description here

VS2017 не имеет возможности удалить поврежденные / неустановленные среды, но ссылается на этот веб-сайт . В нижнем разделе есть описание, чтобы решить мою проблему. Обычно мне не очень нравится редактировать реестр, так как я не знаю, как с этим справляться, однако, это прямо со страниц docs.microsoft.com, я подумал, что это нормально.

Проблема только в том, что изменения никак не повлияли на мою проблему. (уже сделал очевидные вещи, как перезагрузка VS2017 и Windows).

Дополнительная информация Моя проблема в том, что я хотел запустить скелет скрипта Python, который мы получили из курса, чтобы проверить, все ли модули и сам Python работают должным образом. Однако я всегда получаю ошибку dll load failed на некоторых модулях (например, matplotlib). Выполнение сценариев в других средах разработки (например, интегрированная в Anaconda Spyder IDE), однако, работает просто отлично, поэтому я знаю, что модули хороши для работы на моей машине. Я хотел исключить вышеупомянутую проблему как источник ошибки, прежде чем смотреть дальше.

1 Ответ

1 голос
/ 26 марта 2019

Проверка с помощью Process Monitor (запуск VS с активным мониторингом, вплоть до отображения списка сред Python в нем; затем остановка мониторинга и настройка фильтров: Process name is devenv.exe, Pathсодержит python, conda или ContinuumAnalytics (три отдельных фильтра)) показывает, что VS ищет в этих местах данные об установке Python:

  • Ключи реестра в разделе HKCU (документ не упоминает об этом) и HKLM :

  • Файлы:

    • <user profile>\.conda каталог
    • Он также ищет conda.exe в некоторыхlocation
      • У меня его нет, но если бы он у меня был, с помощью procmon можно было бы увидеть, с какими командными строками VS вызывает его.Тогда вы можете, например, сделать то же самое самостоятельно и посмотреть, какую информацию VS получает от него.

Если VS находит записи, которые вы перечисляете, что-то, ссылающееся нато, что вы видите в списке , должно находиться где-то в этих местах.


Чтобы удалить записи, как я уже упоминал,

  • Сначала проверьте, еслиу вас установлен соответствующий продукт и удалите его, если вы делаете.Записи под HKCU относятся к продуктам, установленным для каждого пользователя, поэтому вам нужно будет запустить appwiz.cpl под своим именем (точнее, под тем же пользователем, с которым вы запускаете VS) , чтобы увидеть их.
  • Если он действительно не установлен, выполните обычную процедуру очистки вручную.Удалите из реестра и диска все, что выглядит соответствующим (по имени, расположению), включая указанные выше записи.На свой страх и риск, конечно.Чтобы VS прекратил их поиск, достаточно удалить записи.Вы также можете попытаться переустановить и удалить ту же версию программного обеспечения (которую сложно найти) и надеяться, что в этот раз она будет удалена правильно.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...