Как запускать Python скрипты
С установкой и обновлением пайтона разобрались. Давайте теперь посмотрим, как нам запускать скрипты в системе. Ничего особенного для этого делать не надо. Достаточно указать бинарник интерпретатора и сам скрипт. Примерно так выглядит запуск python скрипта в ubuntu:
python script.py
Скрипт будет запущен дефолтной версией пайтона. Если нужно запустить в какой-то конкретной версии, то делается это так:
/usr/bin/python3.9 script.py
Так же скрипты пайтона можно запускать напрямую в консоли. Для этого в самом начале скрипта нужно объявить окружение.
#!/usr/bin/env python
После этого достаточно сделать файл исполняемым и запустить прямо в консоли.
chmod +x script.py ./script.py
Если вы хотите запускать скрипт как службу, то вам придется добавить юнит в systemd. Делается это следующим образом. Создаем файл /lib/systemd/system/python.service:
Description=Python Service After=multi-user.target Conflicts=getty@tty1.service Type=simple ExecStart=/usr/bin/python /home/user/script.py StandardInput=tty-force WantedBy=multi-user.target
После этого перечитываем конфигурацию systemd и запускаем скрипт на пайтоне как службу:
sudo systemctl daemon-reload sudo systemctl enable python.service sudo systemctl start python.service
Так как мой скрипт не предполагает работу в режиме службы, то после выполнения он был завершен. Если же у вас там запрограммирована непрерывная работа, то он будет работать как служба через systemd.
Установка PIP в Ubuntu 20.04
Утилита PIP не поставляется в Ubuntu по умолчанию. Если она необходима, её придётся установить. Это очень просто, но есть один момент, о котором надо знать. Так как существует 2 версии языка Python – Python 2 и Python 3, то данная утилита называется для каждой версии языка по-своему. Для Python 2 это PIP, а для Python 3 это PIP3
В Ubuntu 20.04 по умолчанию установлен Python только 3 версии. Соответственно пакет для установки будет называться PIP3
Обратите внимание, что для написания этой статьи использовался алгоритм установки для Ubuntu 20.04, но нижеприведённые команды подойдут и для более ранних версий дистрибутива, а также для дистрибутивов, основанных на Ubuntu (например Debian)
Сначала необходимо убедиться, что Python 3 установлен в системе выполнив команду в терминале:
Команда выведет текущую версию Python, которая используется в системе. Далее необходимо установить pip3:
После установки pip3 необходимо убедиться, что утилита установилась в систему без ошибок при помощи команды:
Команда выведет версию pip и полный путь куда была установлена утилита. Установка pip в Ubuntu 20.04 завершена, теперь необходимо разобраться как ей пользоваться.
Шаг 1 — Настройка Python 3
Ubuntu 18.04 и другие версии Debian Linux поставляются с предустановленными средами программирования Python 3 и Python 2. Чтобы убедиться в обновлении версий, мы выполним обновление системы с помощью команды для работы с инструментом Ubuntu Advanced Packaging Tool:
Флаг показывает, что мы соглашаемся установить все элементы. В зависимости от вашей версии Linux вам может понадобиться подтвердить выбор в дополнительныхх диалогах по мере установки обновлений.
После завершения этой процедуры мы можем проверить установленную в системе версию Python 3 с помощью следующей команды:
На экране терминала будет выведена страница результатов, где вы сможете увидеть номер версии. Хотя номер версии может различаться, результат будет выглядеть примерно так:
Для управления программными пакетами Python мы установим инструмент pip, предназначенный для установки и управления пакетами программирования, которые мы можем захотеть использовать в наших проектах разработки. Дополнительную информацию о модулях и пакетах, которые можно установить с помощью pip, можно найти в документе «Импортирование модулей в Python 3».
Пакеты Python можно установить с помощью следующей команды:
Здесь может относиться к любому пакету или любой библиотеке Python, в том числе Django для веб-разработки или NumPy для научных вычислений. Если вы захотите установить NumPy, вы можете использовать команду .
Можжно установить несколько дополнительных пакетов и средств разработки, чтобы получить надежную основу для нашей среды программирования:
После настройки Python и установки pip и других инструментов мы можем настроить виртуальную среду для наших проектов разработки.
Постоянно моргает и пропадает консоль командной строки
Согласитесь, что постоянное мелькание окна «Командной строки» может довести до нервного срыва.
Особо часто этой проблеме подвержены пользователи операционной системы Windows 10.
Для определения проблематики рассматриваемой ситуации необходимо определиться к какому виду она относится, а их два:
- Окно «Командной строки» появляется в момент прогрузки рабочего стола. По сути, данный вид не является проблемой, так как данный сценарий не редкость, и лишь означает, что при старте системы до загрузки рабочего стола не успели прогрузиться/включиться все активные службы.
- Окно «Командной строки» мелькает постоянно. Это уже как раз и говорит о том, что в работе служб имеются проблемы, которые могут обуславливаться и деятельностью стороннего вирусного обеспечения.
Принимая это во внимание, каждый столкнувшийся с подобной проблемой пользователь должен задать себе один ключевой вопрос: «После каких манипуляций проявились данные проблемы». Например, был установлен пакет стороннего программного обеспечения или вручную/самостоятельно были отключены какие-либо службы, необходимые для штатной работы операционной системы
А предусмотренные решения характеризуются именно восстановлением штатной конфигурации, которая была потеряна из-за необдуманных действий пользователя или в результате имеющихся в системе вирусов, а именно:
«Просмотр запланированных действий»:
Нажмите комбинацию клавиш «WIN+R» и выполните команду «taskschd.msc»;
В открывшемся окне «Планировщик заданий» выберите папку «Библиотеку планировщика заданий»;
В центральной части окна будет приведён перечь системных и не системных процессов, которые запускаются или выполняют какие-либо действия по расписанию.
Отсортируйте список по времени предыдущего запуска и сопоставьте полученные данные со временем проявления рассматриваемой ситуации
Также особое внимание обращайте на все подозрительные строки и при необходимости просмотрите информацию о запланированных ими действиях;. Всё лишнее и подозрительное отключайте/удаляйте из «Планировщика заданий»
Всё лишнее и подозрительное отключайте/удаляйте из «Планировщика заданий».
«Комплексная очистка системы и полная антивирусная проверка»:
Очистите реестр с помощью любой доступной для этого утилиты, например, используя «CCleaner»;
Установите и откройте озвученное ПО и перейдите в раздел «Реестр»;
Нажмите на кнопку «Поиск проблем» и после завершения сканирования выберите «Исправить выбранное»;
В этой же программе откройте раздел «Сервис» и поочерёдно откройте «Удаление программ» (удалите там всё, что вызывает сомнение), далее «Автозагрузка» и принимая во внимание те же мотивы отключите подозрительные приложения;
Откройте имеющееся у вас антивирусное ПО и проведите полное сканирование операционной системы на наличие вирусной активности. Связка «AdwCleaner» и «MalwareBytes» уже давно себя должным образом зарекомендовала;
Откройте «Командую строку» с правами администратора и выполните команду «sfc/scannow»
После всех осуществлённых процедур перезагрузите компьютер.
Установка
Установить pip с помощью менеджеров пакетов
На Arch Linux и его вариантов, такие как Antergos, Manjaro Linux, вы можете установить pip с помощью команды:
Python 2:
sudo pacman -S python2-pip
Python 3:
sudo pacman -S python-pip
На Fedora 21:
Python 2:
sudo yum upgrade python-setuptools
sudo yum install python-pip python-wheel
Python 3:
sudo yum install python3 python3-wheel
Fedora 22:
Python 2:
sudo dnf upgrade python-setuptools
sudo dnf install python-pip python-wheel
Python 3:
sudo dnf install python3 python3-wheel
Для того, чтобы получить более новые версии pip, Setuptools и колеса для Python 2, включите PyPA COPR Repo с помощью команды:
dnf copr enable pypa/pypa
а затем запустите:
sudo dnf upgrade python-setuptools
sudo dnf install python-pip python-wheel
На CentOS/RHEL:
pip и wheel не доступны в репозиториях по умолчанию CentOS и RHEL. Чтобы установить pip на CentOS, RHEL, Scientific Linux и другие системы на основе RPM, включите репозиторий Epel с помощью команды:
sudo yum install epel-release
А затем запустите следующую команду, чтобы установить pip:
sudo yum install python-pip
sudo yum install python-wheel
Поскольку пакет setup-tools доступен в репозитории по умолчанию, вы можете установить его с помощью команды:
sudo yum upgrade python-setuptools
OpenSUSE:
Python 2:
sudo zypper install python-pip python-setuptools python-wheel
Python 3:
sudo zypper install python3-pip python3-setuptools python3-wheel
Debian/Ubuntu:
sudo apt-get install python-pip
Замените «python» с «python3» для Python 3.
В Ubuntu 12.04 нет версии PIP3. Если вы используете Ubuntu 12.04, вы можете установить PIP3 с помощью следующих команд:
sudo apt-get install python3-setuptools
sudo easy_install3 pip
Установка pip из бинарных файлов
Если вы хотите установить pip из бинарных файлов, просто запустите:
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
Обратите внимание, что get-pip.py также установит Setuptools и well. Как мы уже упоминали ранее, некоторые дистрибутивы Linux не имеют well в основных репозиториях
В таких случаях, возможно, потребуется добавить несколько репозиториев третьих сторон, например, Epel.
pip уже установлен, если вы используете Python 2> = 2.7.9 или Python 3> = 3.4 двоичные файлы, загруженные из python.org. Тем не менее, вам нужно будет обновить pip с помощью команды:
sudo pip install -U pip
или,
sudo pip install --upgrade pip
Для того, чтобы обновить все (pip, setuptools, whell), выполните следующую команду:
sudo pip install --upgrade pip setuptools wheel
Чтобы узнать установленную версию pip/pip3, выполните следующую команду:
pip --version
или,
pip -V
Пример вывода будет такой:
pip 9.0.1 from /usr/lib/python3.6/site-packages (python 3.6)
Python wheels
Выше была рассмотрена работа с зависимыми Python-пакетами и их установка посредством pip из PyPI. Однако некоторые специалисты утверждают, что этот подход имеет свои минусы:
- Оказывается влияние на производительность — пользователю постоянно нужно скачивать и выполнять сборку пакетов, что тоже не всегда быстро.
- Работа осуществляется онлайн — если с интернетом проблемы, инсталляция не произойдет.
- Стабильность и надежность могут оказаться под вопросом — утверждение справедливо, если:
— возникают проблемы и неполадки на стороне PyPI;
— возникают нарушения зависимостей (некоторые нужные пользователю пакеты удаляются из PyPI);
— возникают неполадки у хостингового провайдера, способные привести к недоступности сетевых ресурсов, того же PyPI.
Избежать всех этих проблем можно путем применения заранее подготовленных пакетов wheel для всех интересующих зависимостей и хранения их в системном репозитории.
Для справки: Wheel — современный формат распространения пакетов в среде Python (wheel пришел на замену eggs). Подробнее об этом можете почитать здесь.
- https://dizballanze.com/ru/python-wheels-dlia-bystroi-ustanovki-zavisimostei/;
- https://pythonworld.ru/osnovy/pip.html;
- https://pythonru.com/baza-znanij/ustanovka-pip-dlja-python-i-bazovye-komandy.
Синтаксис и опции apt
Синтаксис команды apt очень простой и похож на другие команды Linux:
$ apt опции команда параметры_команды
Опции указывают общее поведение утилиты, команда — действие, которое надо выполнить, а в параметрах команды обычно передается имя пакета, с которым следует работать, например, установить или удалить. Вот основные опции утилиты:
- -v, —version — выводит версию утилиты;
- -h, —help — выводит справку по использованию утилиты;
- -y, —yes — автоматически отвечать «да» на все возникающие вопросы;
- —assume-no — автоматически отвечать «нет» на все возникающие вопросы;
- -d, —download-only — только скачать пакеты и больше ничего не делать;
- -f, —fix-broken — исправить недостающие зависимости;
- —no-download — ничего не загружать, использовать только пакеты из кэша;
- -s, —simulate — режим симуляции, никакие операции не выполняются, только выводится информация на экран;
- —allow-unauthenticated — позволяет установить пакеты, из репозиториев, для которых нет GPG подписи;
- —no-install-recommends — не устанавливать рекомендованные пакеты, по умолчанию будут установлены;
- -m, —ignore-missing — игнорировать пакеты, которые существует;
- -q, —quiet — выводить минимум информации, не показывать прогресс бар;
- -V, —verbose-versions — показывать полные версии обновленных пакетов;
- —only-upgrade — не устанавливать новые пакеты, только обновлять;
- —allow-downgrades — разрешить откатывать версию пакетов;
- —reinstall — переустановить пакет если он уже установлен;
А теперь давайте пройдёмся по командам apt, которые вы можете использовать:
- install — установить пакет;
- remove — удалить пакет, конфигурационные файлы, которые были изменены в вашей системе удалены не будут;
- purge — полностью удалить пакет, вместе со всеми его конфигурационными файлами;
- autoremove — очистить ненужные пакеты;
- autoclean — очистить кэш пакетов;
- update — обновить списки пакетов из репозиториев;
- upgrade — обновить версию пакета до последней, если пакет не указан будут обновлены все пакеты;
- full-upgrade — полное обновление системы, включая удаление несовместимых или больше ненужных пакетов;
- list — список установленных пакетов;
- search — поиск пакетов;
- show — посмотреть информацию о пакете;
- download — скачать пакет в текущую папку;
- edit-sources — открыть с настройками репозиториев в текстовом редакторе.
- source — скачать исходный код пакета в текущую папку;
- build-dep — установить зависимости необходимые для сборки выбранного пакета;
Дальше рассмотрим несколько примеров работы с apt, которые пригодятся как начинающим, так и более опытным пользователям.
Запуск Python в Docker
Ну и в завершении статьи про Python в Ubuntu, покажу, как можно еще его запускать без локальной установки непосредственно в саму систему. Вы можете запустить питона в докере. Для этого просто выберите необходимую вам версию Python и запустите Docker контейнер с ней.
docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp python:3 python script.py
В данном случае я быстро запустил свой скрипт в версии 3, используя контейнер python:3. Если мне то же самое нужно сделать во 2-й версии, то я просто использую другой контейнер.
docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp python:2 python script.py
Таким образом я могу запускать свой скрипт на любой версии python без необходимости его локальной установки. В приведенном примере контейнер будет автоматически остановлен и удален после выполнения скрипта. За это отвечает параметр —rm, который я указал.
Как удалить Python в Ubuntu
Если вам по какой-то причине необходимо удалить python с сервера ubuntu, то сделать это можно штатным образом через пакетный менеджер apt. Для того, чтобы узнать версию пакетов для удаления, можно вывести их список.
sudo dpkg -l | grep python
После этого, подставляя версию нужного пакета, удалить его:
sudo apt remove python3
Только будьте внимательны при удалении python из системы. Он очень много кем используется. При его удалении будет предложено удалить и все его зависимости. А это внушительный список пакетов, которые без пайтона не смогут работать.
К примеру, без пайтона не сможет работать netplan, с помощью которого настраивается сеть. Так что аккуратнее с удалением питона из системы.
Установка pip для Python 2
Pip для Python 2 не включен в репозитории Ubuntu 20.04. Мы будем устанавливать pip для Python 2 с скрипта .
Начните с включения репозитория юниверса:
Обновите индекс пакетов и установите Python 2:
Используйте для загрузки скрипта :
После включения репозитория запустите сценарий от имени пользователя sudo с помощью чтобы установить pip для Python 2:
Pip будет установлен глобально. Если вы хотите установить его только для своего пользователя, запустите команду без . Сценарий также установит и , которые позволят вам устанавливать исходные дистрибутивы.
Проверьте установку, напечатав номер версии pip:
Результат будет выглядеть примерно так:
Информация об установленном пакете
Если вы хотите получить информацию об установленном пакете или модуле, такую как расположение хранилища и последнюю версию, PIP может помочь нам с этим, используя следующую команду.
Синтаксис:
$ pip show package-name
Пример:
$ pip show Flask
Выход:
-f, —files — добавляет к основной информации полный список установленных файлов указанного пакета.
- Функция strftime() в Python – форматы времени и даты
- Парный график Seaborn в Python для визуализации данных
- Инкапсуляция или сокрытие данных в Python
- Асинхронное программирование на Python – asyncio и await
- Функция main() в Python – примеры использования
- Модуль Python AST для анализа и преобразования кода
- Модуль Shutil в Python – основы работы
- 6 методов для обработки и установки точности в Python
Из источника (универсальный)
Для любой отсутствующей библиотеки источник обычно доступен по адресу https://pypi.python.org/pypi/. Вы можете скачать запросы здесь: https://pypi.python.org/pypi/requests
В mac osx и windows после загрузки исходного zip-архива распакуйте его и запустите из termiminal / cmd из несжатого реж.
(источник)
- 7 Если у кого-то из вас установлен pip в Windows, «запросы на установку pip» будут работать нормально. Я предполагаю, что «запросы easy_install» будут работать и на osx / linux, но обычно предпочтительнее использовать pip. (stackoverflow.com/questions/3220404/…)
- 12 для centos: yum install python-requests
- 10 В mac os x, если у вас установлен easy_install, вы также можете использовать:
- 11 Примечание для потомков: для для работы (на Mac) вам нужно использовать
- 6 заставил его работать в Mac OS X, используя:
Для меня не очевидно, какую версию Python вы используете.
Если это Python 3, решение будет
3 sudo pip3 install requests если вы хотите, чтобы он был установлен для всех пользователей на машине, а не только для одного пользователя.
Установить модуль в Debian / Ubuntu для Python2:
А для Python3 команда:
- 1 sudo apt-get install python-запросы
- 2 sudo apt-get install python3-request в моем случае
Это может быть слишком поздно, но эту команду можно запустить, даже если путь pip не задан. Я использую Python 3.7 в Windows 10, и это команда
и вы также можете заменить ‘запросы’ любой другой неустановленной библиотекой
Если вы используете Ubuntu, необходимо установить
запустите эту команду:
если вы сталкиваетесь с ошибкой с отказом в разрешении, используйте sudo перед командой:
Я использую монетный двор и получаю ту же ошибку, даже если он установлен.
В OSX команда будет зависеть от того, какой у вас вариант установки Python.
Python 2.x — по умолчанию
Python 3.x
- 2 Разницы не заметил, но это имеет значение. Я установил Python 3.7 версия и запросы, использующие пип и он не мог его найти. Когда я установил через pip3 теперь работает.
- Пробовал ‘sudo pip3 install requests’, и он увидел загрузку, но затем при запуске файла с запросами в нем получил типичное «ImportError: No module named requests». Так обидно.
Пользователи Brew могут использовать ссылку ниже,
команда для установки :
Доморощенный и Python
pip — это установщик пакета для Python, и вам нужен пакет .
- Не могли бы вы добавить краткое объяснение (здесь) Зачем это работает?
- Добавлен дополнительный комментарий для Информация.
В моем случае запросы были уже установлены, но требовалось обновление. Следующая команда сделала свое дело
В Windows Открыть Командная строка
У меня была такая же проблема, поэтому я скопировал папку с именем «requests» из https://pypi.python.org/pypi/requests#downloadsrequests download в «/Library/Python/2.7/site-packages». Теперь, когда вы используете: import запросы, он должен работать нормально.
- 3 Теперь у меня есть
- @PavelAlexeev попробуйте выполнить эту команду до «pip install urllib3»
Добавление сторонних пакетов в приложение
Перейдите по этой ссылке https://cloud.google.com/appengine/docs/python/tools/libraries27?hl=en#vendoring
шаг 1 : Создайте файл с именем appengine_config.py в корне вашего проекта, затем добавьте следующие строки:
от поставщика импорта google.appengine.ext
Добавьте любые библиотеки, установленные в папке «lib».
vendor.add (‘библиотека’)
Шаг 2: создайте каталог и назовите его «lib» в корневом каталоге проекта.
шаг 3: использовать pip install -t lib запросы
шаг 4: развернуть на движке приложения.
1 Это было то, что я искал. Сами по себе вышеуказанные шаги не сработали для AppEngine
Пытаться .
Это сработало для меня.
Сборка Python 3.9.2 в Linux из исходников
Этот способ может показаться немного сложнее предыдущего, но зато с помощью него можно установить самую свежую версию Python, которая доступна на официальном сайте. Процесс установки опробован на ОС Ubuntu 20, также его можно применять и на Debian 10.
sudo apt update
На следующем шаге, необходимо инсталлировать необходимые нам для работы пакеты:
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
Затем перейдем в папку /tmp и скачаем в нее архив с официального сайта Python*:
cd /tmp/ wget https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz
*Примечание: можно использовать как команду wget, так и команду curl.
Cейчас распакуем этот архив во временную папку и затем его сразу же и удалим:
tar -xf Python-3.9.2.tgz rm Python-Python-3.9.2.tgz
На следующем этапе, запустим команду, которая выполнит подготовку к установке (enable-optimization — служит для оптимизации двоичного файла Python). Исполнение данной команды займет некоторое время:
cd Python-3.9.2 ./configure --enable-optimizations
Для того, чтобы начать процесс сборки, выполним команду*:
make -j 2
*Примечание: цифра 2 указывает на количество ядер процессора. Узнать эти данные можно с помощью команды nproc.
Если в процессе сборки будут замечены проблемы, то необходимо запустить сборку в однопоточном режиме, следующим образом (без параметров -j 2), просто выполнив команду make.
Теперь установим Python 3.9.2 с помощью команды altinstall, последняя версия Python инсталлируется наряду со старыми версиями, т.е. у вас в ОС будет несколько версий языка Python. Если же вы используете команду install, то новая версия питон будет установлена поверх старых (а все старые версии будут удалены).
sudo make altinstall
*Процесс инсталляции Python путем сборки пакета из исходников может занять длительное время.
В результате, в нашей ОС Ubuntu 20 (Debian 10) будет установлено сразу несколько версий языка Python, у нас конкретно — это версии 3.9.2 и 3.8.5, проверить можно с помощью команд:
python3.9 --version python3.8 --version
Шаг 2 — Настройка виртуальной среды
Виртуальные среды позволяют выделять на сервере изолированную область для проектов Python. Благодаря этому каждый из ваших проектов может иметь собственный набор зависимостей, которые не помешают функционированию других ваших проектов.
Настройка среды программирования обеспечивает нам дополнительный контроль над нашими проектами Python и над обработкой разных версий пакетов
Это особенно важно при работе с пакетами сторонних разработчиков
Вы можете настроить любое желаемое количество сред программирования Python. Каждая среда представляет собой каталог или папку на сервере, содержащую несколько скриптов, обеспечивающих ее работу.
Хотя существует несколько способов создания среды программирования в Python, мы используем модуль venv, входящий в состав стандартной библиотеки Python 3. Для установки venv введите следующую команду:
С этим модулем мы готовым приступить к созданию сред. Вначале выберем каталог, где мы хотим разместить наши среды программирования Python, или создадим такой каталог с помощью команды :
Для создания среды перейдите в каталог, где вы хотите разместить среды, и введите следующую команду:
Команда настраивает новый каталог, содержащий несколько элементов, которые мы можем просмотреть с помощью команды :
Совместная работа этих файлов обеспечивает изоляцию ваших проектов в более широком контексте вашего локального компьютера, так что системные файлы и файлы проекта не смешиваются. Будет очень полезно использовать контроль версий и обеспечить каждому из ваших проектов доступ к конкретным пакетам, которые ему необходимы. Python Wheels — это формат готовых пакетов для Python, помогающий ускорить разработку программного обеспечения за счет сокращения количества операций компиляции. Он находится в каталоге в Ubuntu 18.04.
Чтобы использовать эту среду, ее нужно активировать. Для этого введите следующую команду, вызывающую скрипт activate:
В командной строке теперь будет отображаться имя вашей среды, в данном случае my_env. В зависимости от используемой версии Debian Linux префикс может выглядеть несколько иначе, однако называние вашей среды в скобках — это первое, что вы увидите в строке:
Префикс сообщает нам, что среда my_env активна, и что при создании программ они будут использовать настройки и пакеты этой конкретной среды.
Примечание. В виртуальной среде вы можете при желании использовать команду вместо и команду вместо . Если вы используете Python 3 на компьютере вне виртуальной среды, вы можете использовать только команды и .
После выполнения этих шагов ваша виртуальная среда готова к использованию.