Helpdesk Portal
Как запустить скрипт в автономном режиме из командной строки Печать
Изменено: Ср, 16 Фев, 2022 на 3:41 PM
Чтобы запустить скрипт из командной строки без использования графического интерфейса Agisoft Metashape Professional, необходимо использовать аргумент «-r», как в приведенных ниже примерах (путь к скрипту в текущем каталоге должен быть либо относительным, либо абсолютным; аргументы скрипта необязательны):
metashape.exe -r [script arguments]
./metashape.sh -r [script arguments]
/MetashapePro.app/Contents/MacOS/MetashapePro -r [script arguments]
Если скрипт выполняется в системе без графического интерфейса, может потребоваться использовать дополнительный аргумент «-platform offscreen» , например, в Linux:
./metashape.sh -r -platform offscreen
Была ли эта статья полезной? Да Нет
К сожалению, мы не смогли помочь вам в разрешении проблемы. Ваш отзыв позволит нам улучшить эту статью.
Как сделать из Python-скрипта исполняемый файл
Вы изучаете данные и хотите поделиться своим кодом Python с другими, не раскрывая исходный код и не требуя от них установки Python и других компонентов? Если да, то вам может быть интересна конвертация вашего скрипта Python в исполняемый файл.
Исполняемый файл — это файл, который может быть установлен или запущен на компьютере без использования дополнительного программного обеспечения или библиотек. Он имеет расширение .exe и обычно используется для программных приложений в Windows. Конвертируя свой сценарий Python в исполняемый файл, вы можете защитить свой код от изменения или кражи, облегчить другим людям использование вашей программы и сделать автоматическим выполнение задач.
В этой статье я покажу вам два простых метода конвертации файла Python в исполняемый файл с помощью PyInstaller и auto-py-to-exe. Это две популярные библиотеки Python, которые позволяют создавать автономные исполняемые файлы из скриптов Python. Для работы вам понадобится Python 3.6 или выше.
Способ 1: С помощью библиотеки PyInstaller:
PyInstaller — это библиотека Python, которая может анализировать ваш код и компоновать его с необходимыми модулями и библиотеками в один исполняемый файл. Она поддерживает множество платформ, включая Windows, Linux и Mac OS X. PyInstaller также может обрабатывать сложные случаи, такие как импорт файлов данных, скрытый импорт, приложения с графическим интерфейсом и т.д.
Чтобы использовать PyInstaller, вам нужно сначала установить его с помощью pip:
pip install pyinstaller
Затем вам нужно написать свой скрипт Python и сохранить его с расширением .py. В этом примере я буду использовать простой сценарий, который печатает «Hello World» и сохраняет его под именем hello.py:
print("Hello World")
Далее необходимо открыть командную строку и перейти в каталог, где находится ваш скрипт. Затем необходимо выполнить следующую команду:
pyinstaller hello.py
В результате вы создадите папку dist, содержащая исполняемый файл hello.exe. Вы можете дважды щелкнуть на этом файле, чтобы запустить его или поделиться им с другими.
Если вы хотите создать однофайловый исполняемый файл, не требующий дополнительных файлов или папок, вы можете использовать ключ —onefile:
pyinstaller --onefile hello.py
В папке dist будет создан один файл hello.exe, содержащий все необходимые коды и ресурсы.
Если вы хотите скрыть окно консоли при запуске исполняемого файла, вы можете использовать опцию —noconsole:
pyinstaller --noconsole --onefile hello.py
Будет создан исполняемый файл, работающий в фоновом режиме.
Вы также можете настроить другие аспекты исполняемого файла, такие как иконка, имя, версия и т.д., используя различные опции или создав файл спецификации. За более подробной информацией вы можете обратиться к документации PyInstaller.
Способ 2: С помощью auto-py-to-exe:
auto-py-to-exe — это еще одна библиотека Python, которая может конвертировать скрипты Python в исполняемые файлы. Она основана на PyInstaller, но имеет графический интерфейс для пользователя (GUI), что делает ее более простой в работе. Вы можете просто выбрать свой скрипт, подобрать параметры и нажать кнопку, чтобы сгенерировать исполняемый файл.
Чтобы использовать auto-py-to-exe, вам нужно сначала установить его с помощью pip:
pip install auto-py-to-exe
Затем необходимо выполнить следующую команду для запуска графического интерфейса пользователя:
auto-py-to-exe
Откроется окно, которое выглядит следующим образом:

Здесь вы можете выбрать свой скрипт, нажав на кнопку Browse рядом с Script Location. Вы также можете выбрать, хотите ли вы получить исполняемый файл в одном файле или в одной папке, выбрав One File или One Directory в разделе Output Options.
Вы также можете изменить другие настройки, такие как иконка, имя, окно консоли и т.д., перейдя на вкладку Advanced и изменив поля Additional Files или Window Based Options.
После того как вы закончите с настройками, нажмите на кнопку Convert .py to .exe в нижней части окна. Это запустит процесс преобразования и покажет результат на вкладке Консоль.
После завершения преобразования вы сможете найти исполняемый файл в папке вывода, указанной в разделе Output Options. Вы можете запустить его или поделиться им с другими пользователями.
28 августа начнется новый поток по языку программирования Python. На нем мы разберем: Библиотеки Python и решение конкретных задач DevOps; Правила эффективного и поддерживаемого кода; Принципы автоматизации: Docker, Gitlab, Prometheus, K8S и многое другое.
Как добавить аргументы командной строки в скрипт Python 2 мин для чтения

Если вы разработали сценарий Python или приложение, предназначенное для запуска в основном в эмуляторах терминала или даже в приложениях с графическим интерфейсом пользователя, добавление аргументов командной строки может улучшить его удобство использования, читаемость кода, структуру приложения и общее удобство использования приложения для конечных пользователей. Эти аргументы командной строки также называются «параметрами» или «переключателями» и работают аналогично аргументам, которые вы обычно видите в сценариях bash и других программах на C/C ++.
Чтобы добавить аргументы в сценарии Python, вам нужно будет использовать встроенный модуль с именем «argparse». Как следует из названия, он анализирует аргументы командной строки, используемые при запуске скрипта или приложения Python. Эти проанализированные аргументы также проверяются модулем «argparse», чтобы убедиться, что они имеют правильный «тип». Ошибки возникают, если в аргументах есть недопустимые значения.
Использование модуля argparse можно лучше понять на примерах. Ниже приведены несколько примеров кода, которые помогут вам начать работу с модулем argparse.
Пример 1: Создание аргумента и сообщения справки
Рассмотрим пример кода ниже:
import argparse parser = argparse.ArgumentParser(description='A test program.') args = parser.parse_args()
Первый оператор импортирует модуль «argparse». Затем создается новый экземпляр объекта «ArgumentParser», и в качестве аргумента предоставляется краткое описание программы. Объект ArgumentParser необходим для преобразования значений аргументов командной строки в типы данных, понятные Python. Это выполняется методом parse_args объекта ArgumentParser, как показано в последнем операторе.
Предполагая, что вы сохранили пример кода, указанный выше, в файле с именем «test.py», выполнение приведенных ниже команд приведет к появлению справочных сообщений, связанных с программой.
$ ./test.py -h $ ./test.py --help
Вы должны получить примерно такой результат:
usage: test.py [-h] A test program. optional arguments: -h, --help show this help message and exit
Читать В чем разница между абстрактным классом и интерфейсом в Java
Обратите внимание, что в упомянутый выше пример кода не добавлена логика для обработки проанализированных аргументов и преобразования их в объекты. Следовательно, справочные сообщения для отдельных аргументов в выводе не отображаются. Как только вы добавите логику для обработки значений анализируемых аргументов в вашу программу, в справочных сообщениях начнется отображение описания отдельных аргументов.
Пример 2: Обработка строкового аргумента
Чтобы добавить аргументы, приемлемые для вашего скрипта python, вам необходимо использовать метод «add_argument». Взгляните на следующий код:
import argparse parser = argparse.ArgumentParser(description='A test program.') parser.add_argument("print_string", help="Prints the supplied argument.") args = parser.parse_args() print(args.print_string)
Был добавлен новый оператор, показывающий использование метода «add_argument». Любой аргумент, добавленный при запуске скрипта, будет обрабатываться ArgumentParser как объект «print_string».
Обратите внимание, что по умолчанию метод add_argument обрабатывает значения, полученные из аргументов, как строки, поэтому вам не нужно явно указывать «тип» в этом случае. Значение по умолчанию «Нет» также присваивается добавленным аргументам, если оно не отменено.
Еще раз взгляните на справочное сообщение:
usage: test.py [-h] [print_string] A test program. positional arguments: print_string Prints the supplied argument. optional arguments: -h, --help show this help message and exit
Одна из строк вывода говорит «позиционные аргументы». Поскольку ключевое слово для аргумента не определено, в настоящее время аргумент рассматривается как «позиционный аргумент», где порядок и позиция предоставленного аргумента имеют прямое влияние на программу. Позиционные аргументы также являются обязательными, если вы не измените их поведение вручную.
Чтобы определить и проанализировать необязательные аргументы, вы можете использовать «-» (двойное тире) и изменить их значения по умолчанию, используя аргумент «default».
import argparse parser = argparse.ArgumentParser(description='A test program.') parser.add_argument("--print_string", help="Prints the supplied argument.", default=”A random string.”) args = parser.parse_args() print(args.print_string)
Теперь, когда вы запускаете скрипт test.py без аргументов, вы должны получить «случайную строку». как выход. Вы также можете дополнительно использовать ключевое слово «–print_string» для печати любой строки по вашему выбору.
$ ./test.py --print_string AndreyEx.ru
Запуск автономных скриптов
В ArcGIS Pro входит Python на основе conda в конфигурации по умолчанию, только для чтения. Этот Python используется в ArcGIS Pro и является тем самым Python , который вы используете для запуска автономных скриптов.
Эта среда conda по умолчанию, arcgispro-py3 , использует все библиотеки Python , применяемые ArcGIS Pro , а также несколько других, например, scipy и pandas . Существуют несколько ярлыков для быстрого доступа к этой среде, включая ярлык Командная строка Python , который открывает командную строку, инициализируемую средой arcgispro-py3 .
Для получения подробной информации о Python в приложении ArcGIS Pro см. Package Manager.
Вопросы и ответы
Примечание:
Во всех вопросах данного раздела подразумевается, что ArcGIS Pro установлен в c:\Program Files\ArcGIS . Для установки для конкретного пользователя или установки в другое местоположение обновите путь.
Как мне запустить автономный скрипт?
В других продуктах ArcGIS скрипт Python запускается из командной строки:
c:\python27\ArcGIS10.8\python.exe my_script.py
В ArcGIS Pro вы можете запустить тот же скрипт, используя следующий обновленный путь:
c:\Progra~1\ArcGIS\Pro\bin\Python\scripts\propy.bat my_script.py
Здесь 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 . Он активирует среду conda в ArcGIS Pro 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 Package Manager или через утилиты командной строки conda.
Примечание:
Среду arcgispro-py3 по умолчанию можно изменить с помощью утилит командной строки conda, однако обычно это не рекомендуется. Для изменения среды arcgispro-py3 на каждой машине установки ArcGIS Pro требуются права администратора.
Когда я запускаю окно командной строки Python, почему я получаю ошибку Доступ запрещен?
Вы не можете использовать команды conda для изменения сред или пакетов conda. Однако это не влияет на ваше использование Python (включая proenv.bat и propy.bat ). Обратитесь к предыдущим вопросам, относящимся к административным правам доступа.
Связанные разделы
- Python в ArcGIS Pro
- Менеджер пакетов
В этом разделе
- Имея скрипт в качестве аргумента, propy.bat выполняет следующее:
