Создать имя терминала для выполнения скрипта Python в Ubuntu

#python #ubuntu #terminal

#python #ubuntu #терминал

Вопрос:

У меня есть файл python в: ‘/home/username / scripts / pyscript’, и я хочу задать слово для непосредственного выполнения этого скрипта.

Я хочу сделать это «python3 /home/username/scripts/pyscript/main.py arg1 arg2» но выглядит так «myscript arg1 arg2»

Возможно ли это? В любом случае, спасибо.

Ответ №1:

Это возможно несколькими способами. Ссылки предназначены для Bash, предположительно вашей оболочки, но идеи всегда применимы.

Первый вариант: создайте псевдоним оболочки

 alias myscript='python3 /home/username/scripts/pyscript/main.py'
  

Обязательно добавьте псевдоним в свой .profile, чтобы он выдержал выход из системы.

Второй вариант: определите скрипт-оболочку. Создайте файл со следующим содержимым, названный в честь вашей желаемой команды (например, myscript):

 #!/bin/bash
python3 /home/username/scripts/pyscript/main.py "$@"
  

сохраните его и сделайте исполняемым, затем вызовите :

 chmod  x myscript
./myscript arg1 arg2
  

Обязательно скопируйте скрипт в папку на вашем пути (проверьте, где с помощью echo $ PATH), чтобы иметь возможность вызывать его из любой папки.

Комментарии:

1. Я только что обнаружил псевдоним, большое вам спасибо. Наконец, я выполнил слияние между обоими методами, я собираюсь объяснить в другом ответе.

Ответ №2:

Вы также можете использовать pyinstaller для создания одного исполняемого файла:

Шаг 1: Установка pyinstaller

[Примечание: лучше всего делать это в virutalenv ]

 $ pip install pyinstaller
  

Шаг 2: Запустите pyinstaller свой скрипт

 $ pyinstaller --console --onefile /home/username/scripts/pyscript

$ pyinstaller pyscript.spec  # use this after the first run
  

Шаг 3: Протестируйте сгенерированный исполняемый файл

 $ cd /home/username/scripts/dist  # generated by pyinstaller
$ pyscript arg1 arg2
  

Шаг 4: Используйте переменную $PATH

 $ cp /home/username/scripts/dist/pyscript /usr/bin
  

Теперь вы должны иметь возможность запускать исполняемый файл из любого места.

Следует отметить, что исполняемый файл, который генерируется, зависит от операционной системы. Например, если вы создадите его на компьютере с Ubuntu, он будет работать только на Ubuntu (на базе Debian). То же самое справедливо для Windows и других дистрибутивов Linux.

Ответ №3:

Наконец, я решаю проблему с помощью @pierpaciugo, я добавляю псевдоним в конце .bashrc, чтобы сделать его постоянным:

 alias create='bash /home/username/Programming/Python/GithubAPI/script.sh'
  

Я не мог использовать только псевдоним, потому что у меня есть зависимости python от виртуальной среды, поэтому, если я попробую это, я не смогу добавить параметры в свой скрипт python.

Для этого я создаю этот скрипт bash:

 #!/bin/bash

source /home/username/Programming/Python/GithubAPI/venv/bin/activate amp;amp; python3 /home/username/Programming/Python/GithubAPI/main.py $@ amp;amp; deactivate
  

Теперь я могу написать «создать param1 param2», и это работает.
Я использую все глобальные пути, но было бы неплохо добавить скрипт в папку на моем ПУТИ.