Невозможно получить последнюю версию Conda (версия 4.6.1 с обновленной поддержкой инициализации PowerShell) для работы с PowerShell (в идеале для интеграции с VSCode)

В последней версии Conda (4.6.1) заявлена ​​добавленная поддержка инициализации, особенно со ссылкой на PowerShell. Как видно из этой официальной документации по выпуску обновления

Однако после установки обновления и инициализации:

conda update conda

conda init

Создание этого вывода:

C:\Users\User\Miniconda3\Scripts\conda.exe
C:\Users\User\Miniconda3\Scripts\conda-env.exe
C:\Users\User\Miniconda3\Scripts\conda-script.py
C:\Users\User\Miniconda3\Scripts\conda-env-script.py
C:\Users\User\Miniconda3\condabin\conda.bat
C:\Users\User\Miniconda3\Library\bin\conda.bat
C:\Users\User\Miniconda3\condabin\_conda_activate.bat
C:\Users\User\Miniconda3\condabin\conda_auto_activate.bat
C:\Users\User\Miniconda3\condabin\conda_hook.bat
C:\Users\User\Miniconda3\Scripts\activate.bat
C:\Users\User\Miniconda3\condabin\activate.bat
C:\Users\User\Miniconda3\condabin\deactivate.bat
C:\Users\User\Miniconda3\Scripts\activate
C:\Users\User\Miniconda3\Scripts\deactivate
C:\Users\User\Miniconda3\etc\profile.d\conda.sh
C:\Users\User\Miniconda3\etc\fish\conf.d\conda.fish
C:\Users\User\Miniconda3\shell\condabin\Conda.psm1
C:\Users\User\Miniconda3\shell\condabin\conda-hook.ps1
C:\Users\User\Miniconda3\Lib\site-packages\xonsh\conda.xsh
C:\Users\User\Miniconda3\etc\profile.d\conda.csh
C:\Users\User\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

(Обязательно перезагрузите новый сеанс оболочки в соответствии с инструкциями) Когда я пытаюсь инициализировать в PowerShell, я получаю это сообщение об ошибке при немедленной загрузке PowerShell (до попытки conda активировать myenv):

. : File C:\Users\User\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 cannot be loaded because running
scripts is disabled on this system. For more information, see about_Execution_Policies at
https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:3
+ . 'C:\Users\User\Documents\WindowsPowerShell\Microsoft.PowerShell_p ...
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

На основе этой ссылки к политикам выполнения Microsoft, похоже, это проблема безопасности. Я предполагаю, что Conda представила надлежащие сертификаты публикации, однако, несмотря на то, что приведенный выше вывод conda init показывает поправку к файлу PowerShell_profile.ps1 (вторая последняя строка в приведенном выше выводе conda init), я не могу инициализировать conda в PowerShell.

Эта ссылка инструктирует, как вручную установить политику выполнения для RemoteSigned

Инструктаж:

Run shell as Administrator.
> Get-ExecutionPolicy
> Set-ExecutionPolicy remoteSigned
Done.

To Undo
> Set-ExecutionPolicy restricted

И предоставляет ссылку к официальной документации Microsoft.PowerShell.Security

И как я уже задокументировано здесь

Однако я не решаюсь вносить изменения вручную, поскольку в прошлом у меня возникали проблемы с настройкой политики, и я обеспокоен тем, что это приведет к большему беспорядку, чем устранение проблем интеграции PowerShell, особенно с учетом последних Выпуск conda должен был сделать это структурно / изначально.

Возможно ли, что мне просто нужно обновить PowerShell? У меня Windows 10, и я использую PowerShell версии 5.1.

Любая помощь будет очень признательна, так как я очень хочу, чтобы conda была интегрирована в терминал Visual Studio Code.


person R.Zane    schedule 29.01.2019    source источник
comment
Проблема в том, что ваш профиль не может быть импортирован, и я предполагаю, что Conda добавляет туда интеграции. Чтобы это сработало, вам нужно включить PowerShell, чтобы разрешить выполнение скриптов. Я бы рекомендовал включить выполнение скрипта, и тогда профиль должен загрузиться без проблем.   -  person Persistent13    schedule 30.01.2019
comment
Это работает так, как вы успокоили, и как указывали ссылки, которые я предоставил. Большое спасибо. Можем ли мы ожидать, что Set-ExecutionPolicy не понадобится в будущих выпусках? Это похоже на дыру в безопасности, и Microsoft теперь хорошо играет с conda / opensource с VSCode.   -  person R.Zane    schedule 30.01.2019
comment
Я обнаружил, что маловероятно, что частью философии политики выполнения было добавление барьера для использования сценариев PowerShell в качестве вредоносного ПО или случайного выполнения.   -  person Persistent13    schedule 30.01.2019