Имя Conda не распознается как имя командлета функции файла скрипта или исполняемой программы
Обновлено: 21.11.2024
ArcGIS Pro включает по умолчанию Python на основе conda, доступный только для чтения. Этот Python используется в ArcGIS Pro, и вы также используете Python для запуска автономных скриптов.
Эта среда conda по умолчанию, arcgispro-py3, включает все библиотеки Python, используемые ArcGIS Pro, а также несколько других, таких как scipy и pandas. Существует несколько ярлыков для доступа к этой среде, в том числе ярлык командной строки Python, который открывает командную строку, инициализированную средой arcgispro-py3.
Для получения дополнительной информации о Python в приложении ArcGIS Pro см. Диспетчер пакетов Python.
Вопросы и ответы
Все ответы в этом разделе предполагают, что ArcGIS Pro установлен в папке c:\Program Files\ArcGIS . Для установки для отдельных пользователей или установки в произвольное расположение обновите путь.
Как запустить автономный скрипт?
В других продуктах ArcGIS скрипт Python запускается из командной строки следующим образом:
В ArcGIS Pro вы можете запустить тот же скрипт, используя следующий обновленный путь:
Здесь propy.bat заменяет вызов python.exe .
Нужно ли мне активировать среду conda для запуска автономного скрипта?
Нет. Вы можете использовать python.exe в каталоге c:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3 для запуска ваших скриптов. Вы также можете вызвать c:\Progra~1\ArcGIS\Pro\bin\Python\scripts\propy.bat, как упоминалось ранее.
Зачем мне использовать propy.bat?
Во время работы над проектом ArcGIS Pro вы можете создавать и использовать новую среду conda с определенными наборами и версиями пакетов Python. Например, при запуске автономных скриптов, если вы запускаете c:\Progra~1\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\python.exe (среда conda по умолчанию для ArcGIS Pro), вы не будете обязательно иметь тот же набор пакетов, который вы используете в приложении ArcGIS Pro. Вот почему вы используете propy.bat : он определяет активную среду conda приложения и активирует ее в вашем автономном скрипте.
В чем разница между propy.bat и proenv.bat?
Различия заключаются в следующем:
- propy.bat — замена python.exe. Он активирует среду ArcGIS Pro conda arcgispro-py3 и запускает Python. Вы можете вызвать propy.bat с файлом Python или без него в качестве аргумента.
- Со сценарием в качестве аргумента propy.bat делает следующее:
- Активирует среду conda ArcGIS Pro
- Запуск Python
- Запускает указанный скрипт
- Закрывает Python и среду
- Если вы можете вызвать propy.bat без аргументов, активируется среда conda и Python запускается в интерактивном оконном режиме (REPL).
Требуются ли права администратора для установки пакетов conda?
Нет. Начиная с ArcGIS Pro 2.2, среду arcgispro-py3 по умолчанию нельзя изменить с помощью Менеджера пакетов ArcGIS Pro, даже при запуске ArcGIS Pro с правами администратора. Чтобы установить пакеты conda, вы можете создать среду с помощью диспетчера пакетов ArcGIS Pro или утилит командной строки conda.
Среду arcgispro-py3 по умолчанию можно изменить с помощью утилит командной строки conda; однако это обычно не рекомендуется. Для изменения среды arcgispro-py3 в установке ArcGIS Pro на компьютере требуются права администратора.
Несколько пользователей сталкиваются с сообщением «conda не является внутренней или внешней командой, исполняемой программой или пакетным файлом» при попытке запустить любую команду Anaconda с помощью командной строки.
Conda не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл.
Почему «conda» не распознается как внутренняя или внешняя ошибка команды?
Мы исследовали эту конкретную проблему, попытавшись воссоздать ошибку на нашем компьютере и просмотрев отчеты других пользователей. Основываясь на том, что мы собрали, есть несколько сценариев, которые вызывают это конкретное сообщение об ошибке:
- Путь к среде для Conda не задан. Это наиболее распространенная причина возникновения этой проблемы. Имейте в виду, что последние сборки Anaconda не будут автоматически добавлять Conda в пути к системным переменным, поскольку это может вызвать различные проблемы с другим программным обеспечением.
- Путь к среде добавлен неправильно. Еще одна популярная причина возникновения этой проблемы – ошибка пользователя при попытке добавить переменную ПУТЬ к среде вручную.
- Версия Anaconda старше, чем версия Anaconda Navigator. Некоторые пользователи сообщают, что ошибка больше не возникает после обновления Conda до последней версии.
Способ 1. Обновление Anaconda до последней версии
Несколько пользователей сообщили, что проблема была решена, и они смогли запускать команды conda в командной строке после обновления Conda до последней версии.
Оказалось, что вы можете столкнуться с этой проблемой, если используете более новую версию Anaconda Navigator со старой версией Conda. Вот краткое руководство о том, как это можно исправить:
- Откройте меню «Пуск» в левом нижнем углу и выполните поиск «anaconda». Затем нажмите «Подсказка Anaconda». Используйте меню «Пуск», чтобы открыть приглашение Anaconda.
- В программе Anaconda Prompt выполните следующие команды и нажимайте Enter после каждой, чтобы обновить Conda до последней версии:
- Дождитесь завершения процесса, затем закройте приглашение Anaconda и откройте окно CMD. Проверьте, можете ли вы теперь запускать команды Conda. ол>р>
- Откройте меню «Пуск» (нижний левый угол) и выполните поиск «приглашение анаконды». Затем нажмите Anaconda Prompt и подождите, пока программа откроется. Используйте меню «Пуск», чтобы открыть приглашение Anaconda.
- В программе Anaconda Prompt выполните следующую команду и нажмите Enter, чтобы проверить местоположение Conda: Обнаружение местоположения conda
- Скопируйте второе местоположение, полученное ранее на шаге 2, но исключите исполняемый файл. Например: C:\Users\madro\Anaconda3\Scripts
- Нажмите клавишу Windows + R, чтобы открыть диалоговое окно «Выполнить». Затем введите «sysdm.cpl» и нажмите Enter, чтобы открыть экран «Свойства системы». Диалог запуска: sysdm.cpl
- В окне «Свойства системы» перейдите на вкладку «Дополнительно» и нажмите «Переменные среды»…
- Нажмите клавишу Windows + R, чтобы открыть диалоговое окно «Выполнить». Затем введите «cmd» и нажмите Enter, чтобы открыть диалоговое окно «Выполнить». Диалог запуска: cmd
- В окне CMD введите CD, а затем путь к папке установки Anaconda. Если вы не установили Anaconda в аналогичном месте, это должно выглядеть примерно так:
- Запустите команду, чтобы протестировать Anaconda и проверить, правильно ли она работает в командной строке. Вы можете использовать эту команду:
- Запускать без отладки любой файл Python с выбранной средой anaconda.
- Сначала закройте все открытые файлы Python или окна терминала командной строки.
- Затем запустите исполняемый файл установки приложения Python, который соответствует файлу, установленному на вашем компьютере.
- Вы увидите следующее диалоговое окно:
- Затем выберите «Изменить» и нажмите «Далее».
- В диалоговом окне «Дополнительные параметры» установите флажок «Добавить Python в переменные среды», как показано ниже. Затем нажмите «Установить» и после завершения закройте диалоговое окно «Настройка».
- В качестве альтернативы запустите исполняемый файл Python, который соответствует файлу, установленному на вашем компьютере.
- В диалоговом окне «Изменить настройку» выберите «Восстановить».
- При появлении запроса контроля учетных записей пользователей нажмите Да.
- В диалоговом окне "Ход восстановления" будет показано восстановление установки Python.
- После этого нажмите "Закрыть".
- На панели задач Windows нажмите кнопку увеличительного стекла (поиск).
- В поле "Введите здесь для поиска" введите Переменные среды и нажмите Enter.
- Откроется диалоговое окно «Свойства системы».
- Внизу нажмите кнопку "Переменные среды".
- В разделе "Системные переменные" выделите запись "Путь".
- Нажмите "Изменить".
- Теперь нажмите "Создать".
- Добавьте абсолютный путь к файлу Python.exe. Например: C:\Python\Python3.10
- Снова нажмите "Создать".
- Добавьте абсолютный путь к своей библиотеке скриптов Python. Например: C:\Python\Python3.10\Scripts
- Ваше диалоговое окно должно выглядеть следующим образом:
- Нажмите "ОК".
- Закройте диалоговые окна переменных среды и свойств системы.
- Перезапустите Python IDE или командную строку и вызовите приложение Python, используя относительный путь, как показано ниже:
- Все готово!
Если вы по-прежнему сталкиваетесь с ошибкой «conda не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл», перейдите к следующему способу ниже.
Способ 2. Добавление Anaconda в переменную среды PATH во время установки
Самый быстрый способ решить эту проблему автоматически — переустановить Anaconda и использовать один дополнительный параметр, который автоматически перенесет всю Anaconda в вашу переменную среды PATH. Но имейте в виду, что использование этого метода может означать, что вы поощряете определенное приложение к конфликту с вашей установкой Anaconda.
В любом случае, если вы ищете способ автоматического добавления Anaconda в среду PATH, выполните следующие действия:
Примечание. Если Anaconda не установлена на вашем компьютере, сразу переходите к шагу 3.
Если этот метод оказался неэффективным или вы ищете другой подход, не требующий переустановки всего дистрибутива Anaconda, перейдите к следующему способу ниже.
Способ 3. Добавление пути Conda вручную
Если вы не хотите тратить время на удаление всего дистрибутива Anaconda, вы можете самостоятельно обновить (или проверить) переменную среды, связанную с Conda. Но перед этим важно выяснить точное местоположение вашей установки Conda.
Следуйте приведенному ниже руководству, чтобы найти и настроить Conda PATH вручную в переменных среды:
Метод 4. Обход проблемы без добавления Anaconda в путь к среде
Если вы хотите избежать добавления пути Anaconda к переменным среды, вы можете вводить команды Conda, не получая сообщения об ошибке «conda не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл», используя командную строку для навигации сначала в папку установки.
Но имейте в виду, что это не очень практично, поскольку вам придется повторять эту процедуру всякий раз, когда вы открываете новую командную строку.
Если вы решили обойти ошибку, добавив путь Anaconda в окно CMD, вот что вам нужно сделать:
Когда дистрибутив Python Anaconda / Miniconda устанавливается с помощью установщика текущей версии в Windows, conda больше не добавляется в переменную среды PATH.
Однако расширение python по-прежнему вызывает команду conda (и, предположительно, другие), как если бы они были доступны в PATH.
Действия для воспроизведения:
Версия расширения: 2019.4.11987
>
Версия кода VS: Код 1.33.1 (51b0b28134d51361cf996d2f0a1c698247aeabd8, 2019-04-11T08:27:14.102Z)
Версия ОС: Windows_NT x64 10.0.17763Текст был успешно обновлен, но возникли следующие ошибки:
ryan-feeley прокомментировал 29 апреля 2019 г. •
Я точно не знаю, что происходит с деталями, но похоже, что в расширении Python есть настройка "Python > Terminal: Activate Environment", которая пытается вызвать conda для активации заданной среды (base, myenv и т. д.). ).
Однако эта команда не будет выполняться должным образом, если ваш скрипт запуска powershell уже не выполняет какую-либо работу. Запуск conda init один раз позаботится об этом, но по умолчанию он активирует базовую среду каждый раз, когда вы запускаете powershell (внутри или вне кода). Похоже, вы можете вызвать conda deactivate, чтобы получить стандартную подсказку PS. Я полагаю, вы могли бы добавить это в свой сценарий profile.ps1, если хотите получить обычное приглашение powershell и позволить vscode позаботиться об активации нужной вам среды.
Глядя на эту ветку, возможно, вы могли бы запустить
conda install powershell_shortcut для использования альтернативного способа, не требующего conda init .
Проблема еще не проверена на воспроизводимость
Необходимо назначение в соответствующую подгруппу
Прокомментировал DonJayamanne 30 апреля 2019 г. •
@ARF1
Пожалуйста, добавьте путь к Conda в файл settings.json следующим образом:@ARF1
Также, пожалуйста, сообщите нам, сработало ли предложение от @ryan-feeley?ARF1 прокомментировал 1 мая 2019 г.
@ryan-feeley Вы предлагаете запустить conda init из powershell. Будет ли созданный файл общесистемным или специфичным для vscode?
В идеале я хотел бы ограничить исправление powershell, специфичным для vscode.
@DonJayamanne
Я попробовал ваше предложение python.condaPath. Теперь vscode показывает окно ошибки в правом нижнем углу с сообщением:Активация выбранной среды Python не поддерживается в PowerShell. Попробуйте сменить оболочку на командную строку.
Также обратите внимание: я не совсем понимаю, почему vscode без проблем находит все мои среды conda, но почему-то не может найти расположение команды conda. Это удивительно, так как это всего на один уровень выше сред в иерархии папок.
ARF1 прокомментировал 1 мая 2019 г. •
@DonJayamanne
Я только что понял, что неправильно понял описание параметра python.condaPath. Там написано:Путь к исполняемому файлу conda, используемому для активации (версия 4.4+).
Я понял, что каталог необходим. Что на самом деле требуется, так это путь плюс исполняемый файл conda. Я установил Z:\Miniconda3\condabin\ требуется Z:\Miniconda3\condabin\conda.bat .
Вводит ли описание в заблуждение? Это может быть только я.
В любом случае после исправления conda теперь работает. - Вроде, как бы, что-то вроде. Он начинается с некоторых сообщений об ошибках, а затем работает нормально:
Ryan-feeley прокомментировал 2 мая 2019 г.
У меня нет даже поверхностного представления о том, как это работает, но я думаю, что запуск conda init окажет общесистемное влияние на ваш профиль пользователя. Если вы запустите его из cmd.exe , он временно добавит материал к вашему пути по запросу, добавив запись AutoRun в HKCU\Software\Microsoft\Command Processor, чтобы он запускал conda_hook.bat при запуске cmd.exe (и, возможно, другие программы).
Если вы запустите conda init из powershell, он добавит в $USERPROFILE/Documents/WindowsPowerShell/Profile.ps1 некоторый код сценария, который выполняет аналогичные действия.
Тем не менее, этот подход немного чище, чем старый подход "Добавить несколько каталогов Anaconda в ваш системный путь", поскольку с новым методом они только временно возятся с вашим путем, когда вы находитесь в терминальная программа. В конце концов, вам нужно что-то на своем пути, иначе вы будете тратить все свое время на ввод полных имен исполняемых файлов.
В сегодняшнем уроке мы узнаем, как вставить Python в переменную среды path в Windows.
Что такое переменная среды Windows Path?
Путь — это переменная среды в операционной системе Windows, которая указывает на определенные каталоги, содержащие определенные исполняемые файлы, которые мы часто используем. Каталоги, которые мы обычно находим в пути Windows: C:\Windows, C:\Windows\system32, %JAVA_HOME%\bin и т. д.
Почему мы хотим, чтобы Python был на пути?
Мы хотим, чтобы Python был установлен как часть пути, чтобы мы могли ссылаться на python.exe или к утилитам, которые являются частью установки Python, в относительной форме вместо того, чтобы писать полный абсолютный путь к исполняемому файлу. Проще говоря, в нашей командной строке Windows мы хотели бы ввести python, а не c:\Users\dave\python3.10\python.exe.
Сообщения об ошибках пути Python для Windows
Обычно мы сталкиваемся с сообщениями об ошибках при попытке запустить интерпретатор Python из командной строки Windows или с помощью вкладки "Терминал" в популярной интегрированной среде разработки Python. Вот несколько распространенных ошибок:
«python» не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл.
python : термин «python» не распознается как имя командлета, функции, файла сценария или исполняемой программы.
Ошибка в PyCharm:
'pip' не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл.
Та же ошибка, но на этот раз при вызове pip. Аналогичная ошибка возникает при вызове ipython, Mini conda / Anaconda и т. д.
Аналогичная ошибка в терминале Visual Studio Code (VS):
Автоматическое добавление Python в путь
Самый простой способ убедиться, что Python включен в путь, установить его соответствующим образом при установке Python на компьютер с Windows. Тем не менее, даже после того, как вы уже установили Python, вы все равно можете использовать установщик Python для исправления темы пути двумя способами.
Папка приложения и скриптов Python добавлена в путь.
Добавить Python в путь — вручную
Очевидно, что вы можете отредактировать свою среду PATH вручную. Пожалуйста, выполните следующие действия, чтобы вставить каталоги Python в путь:
Добавление PIP в путь
Утилита PIP диспетчера пакетов Python доступна в виде исполняемого (exe) файла прямо в папке сценариев Python, как правило, по адресу
Если ваш путь указан неправильно, вы получите следующую ошибку при попытке установить пакет или обновить PIP:
Вы можете легко решить эту ошибку, вручную указав путь к Windows или переустановив Python, как показано в разделах выше.
Читайте также:
- Со сценарием в качестве аргумента propy.bat делает следующее: