#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», и это работает.
Я использую все глобальные пути, но было бы неплохо добавить скрипт в папку на моем ПУТИ.