Python3 dev что это
Можно ли (и нужно ли) установить python3-dev из исходников?
Собираешь и инсталлишь пайтон, собираешь и инсталлишь туда же pip. Дальше все устанавливаешь через pip.
pip вместе с питоном ставится. Ошибки при установке pip3 install lxml Правда пишет что версия пипа 6, а давно уже 8
Тогда лог показывай.
Попробуй pip3.4 у меня питон 3.5 скомпиленный, lxml устанавливался просто. Pip3.5 install lxml.
Нужно точно знать на что ругается. Например у меня gcc падал на хостинге Digital Ocean с 512Mb RAM. Может твой случай, ему для сборки нужно от 1Gb памяти.
gcc крашится. Какая версия?
И? Значит не в этом дело?
gcc: internal compiler error: Killed (program cc1)
Да, не хватает памяти для компиляции. Попробуй создать swapfile (как, например, рекомендуют здесь: http://stackoverflow.com/a/18335151) и скомпилировать ещё раз.
Делал по инструкции:swapon failed: Operation not permitted
Эти команды нужно выполнять от рута.
Я залогинен рутом.
Нашёл такое:
I think you were hit by the limitations of OpenVZ. OpenVZ does not allow what they call «user defined swap»: Swap is only available «as a whole» for the whole system, not for individual VPSes
Т.е. свапа не видать? Можно как-то собрать в своей виртуалке и запихнуть туда?
Просто заюзай python 2.7
А что толку? lxml все равно не поставится
Я именно про lxml для Python.
Можешь поставить Miniconda, там уже все собрано и ставится без рута. Отличный вариант для всяких отстойных vps.
Установка Python 3 и настройка среды разработки на сервере Debian 9
Python – это многофункциональный язык программирования для разработки различных программных проектов. Python вышел в свет в 1991 и назван в честь британской комик-группы Monty Python: так разработчики хотели подчеркнуть, что этот язык программирования настолько прост в использовании, что это даже смешно. Простота установки, относительно понятный синтаксис, немедленное сообщение об ошибках – благодаря таким своим качествам Python является отличным решением как для новичков, так и для опытных разработчиков. Python 3 – последняя версия языка – уже считается будущим Python.
Данный мануал поможет установить Python 3 на сервер Debian 9. Программирование на сервере имеет множество преимуществ и упрощает взаимодействие с командой.
Примечание: Общие принципы данного руководства применимы к любому дистрибутиву Debian Linux.
Требования
Для работы вам понадобится сервер Debian 9, настроенный по этому мануалу.
Также рекомендуем ознакомиться со статьей Основы работы с терминалом Linux.
1: Установка Python 3
В системе Debian и других дистрибутивах Debian Python 3 и Python 2 установлены по умолчанию. Чтобы обновить пакеты системы, используйте apt (Advanced Packaging Tool):
Флаг –y автоматически подтвердит любые запросы системы.
Примечание: В зависимости от версии Linux некоторые запросы программы нужно подтвердить самостоятельно.
Чтобы узнать, какая версия Python 3 установлена в системе, введите:
В терминале вы увидите номер текущей версии.
Примечание: Номер версии может отличаться.
Установите пакетный менеджер Python pip, который помогает устанавливать необходимые проекту пакеты и управляет ими:
Для установки пакетов Python используется такой синтаксис:
pip3 install package_name
Вместо package_name укажите имя пакета или библиотеки. Например, чтобы установить библиотеку NumPy, можно ввести:
pip3 install numpy
Теперь нужно установить несколько инструментов для разработки:
sudo apt install build-essential libssl-dev libffi-dev python3-dev
2: Создание виртуальной среды
Виртуальная среда обеспечивает изолированное пространство для проектов Python, благодаря чему все проекты могут иметь индивидуальный набор зависимостей и использовать разные версии одной программы, что при этом никак не повлияет на работу системы.
Среда разработки позволяет управлять проектами Python и обработкой различных версий пакетов, что особенно важно при работе со сторонними пакетами.
Количество виртуальных сред Python в системе не ограничено. По сути, каждая такая среда – это каталог, в котором лежит несколько сценариев, благодаря которым этот каталог может использоваться в качестве среды.
Python предлагает несколько способов создать виртуальную среду, но мы будет использовать модуль venv (он включен в стандартную библиотеку Python 3). Установите его:
Теперь модуль установлен. Выберите или создайте каталог, где будут храниться среды разработки Python.
mkdir environments
cd environments
Чтобы создать в этом каталоге виртуальную среду, введите:
Примечание: Вместо my_env введите имя среды.
Эта команда создаст новый каталог (в данном случае my_env), содержащий такие компоненты:
ls my_env
bin include lib lib64 pyvenv.cfg share
Эти файлы изолируют проект от общей системы локальной машины, благодаря чему системные файлы и файлы проекта не смешиваются и никак не влияют друг на друга. Это обеспечивает удобное управление версиями, а также доступ проектов к зависимостям и необходимым версиям пакетов.
Python Wheels (формат, который позволяет ускорить разработку программного обеспечения за счет уменьшения количества операций компиляции) будет в каталоге share.
Теперь нужно включить виртуальную среду:
Эта команда запустит сценарий activate из каталога bin.
Теперь командная строка будет выглядеть так:
Примечание: Префикс может отличаться в зависимости от дистрибутива Debian Linux.
Это позволяет вам определить, в какой именно среде вы находитесь. Все команды, запущенные в такой среде, будут действовать только в рамках этой среды.
Примечание: В виртуальной среде можно использовать команду python вместо python3 и pip вместо pip3. Вне виртуальной среды в Python 3 используются только команды python3 и pip3.
3: Создание простой программы
Теперь проверьте работу виртуальной среды Python. Для этого попробуйте создать простую программу, которая будет отвечать «Hello, World!».
Откройте текстовый редактор и создайте файл:
/environments$ nano hello.py
Вставьте в файл такую строку:
Закройте редактор и сохраните файл (Ctrl X, Y).
/environments$ python hello.py
Программа выведет в терминале:
Чтобы закрыть среду, просто введите:
Эта команда вернёт вас в общесистемную командную строку.
Заключение
Теперь у вас есть изолированная виртуальная среда разработки Python, и вы можете приступать к созданию новых программ.
Установка Python 3 и настройка среды программирования на сервере Ubuntu 18.04
Published on January 24, 2020
Введение
Python — гибкий и универсальный язык программирования, который можно использовать для разнообразных задач. Особенно полезен для создания скриптов, автоматизации, анализа данных, машинного обучения и разработки серверных компонентов приложений. Разработчики выпустили первую версию языка Python в 1991 году с целью создать интересный язык программирования и назвали его в честь британской комедийной группы Monty Python. Python легко настраивать, и с его помощью можно создавать относительно простой код с немедленным получением уведомлений об ошибках. Это отличный выбор как для начинающих, так и для опытных разработчиков. Python 3 — самая последняя версия этого языка, которая считается будущим Python.
В этом обучающем модуле вы научитесь настраивать на сервере Ubuntu 18.04 среду программирования Python 3. Программирование на сревере дает много преимуществ и обеспечивает поддержку совместной работы над проектами разработки. Общие принципы этого обучающего модуля относятся к любым дистрибутивам Debian Linux.
Предварительные требования
Для выполнения этого обучающего руководства у вас должен быть пользователь без прав root с привилегиями sudo на сервере Ubuntu 18.04. Чтобы выполнить необходимую первоначальную настройку, воспользуйтесь нашим руководством по ручной начальной настройке сервера или запустите наш автоматизированный скрипт.
Если вы еще не знакомы со средой терминалой, вам будет полезна статья «Введение в терминалы Linux».
После настройки сервера и пользователя вы можете продолжить.
Шаг 1 — Настройка Python 3
Ubuntu 18.04 и другие версии Debian Linux поставляются с предустановленными средами программирования Python 3 и Python 2. Чтобы убедиться в обновлении версий, мы выполним обновление системы с помощью команды apt для работы с инструментом Ubuntu Advanced Packaging Tool:
После завершения этой процедуры мы можем проверить установленную в системе версию Python 3 с помощью следующей команды:
На экране терминала будет выведена страница результатов, где вы сможете увидеть номер версии. Хотя номер версии может различаться, результат будет выглядеть примерно так:
Для управления программными пакетами Python мы установим инструмент pip, предназначенный для установки и управления пакетами программирования, которые мы можем захотеть использовать в наших проектах разработки. Дополнительную информацию о модулях и пакетах, которые можно установить с помощью pip, можно найти в документе «Импортирование модулей в Python 3».
Пакеты Python можно установить с помощью следующей команды:
Можжно установить несколько дополнительных пакетов и средств разработки, чтобы получить надежную основу для нашей среды программирования:
После настройки Python и установки pip и других инструментов мы можем настроить виртуальную среду для наших проектов разработки.
Шаг 2 — Настройка виртуальной среды
Виртуальные среды позволяют выделять на сервере изолированную область для проектов Python. Благодаря этому каждый из ваших проектов может иметь собственный набор зависимостей, которые не помешают функционированию других ваших проектов.
Настройка среды программирования обеспечивает нам дополнительный контроль над нашими проектами Python и над обработкой разных версий пакетов. Это особенно важно при работе с пакетами сторонних разработчиков.
Вы можете настроить любое желаемое количество сред программирования Python. Каждая среда представляет собой каталог или папку на сервере, содержащую несколько скриптов, обеспечивающих ее работу.
Хотя существует несколько способов создания среды программирования в Python, мы используем модуль venv, входящий в состав стандартной библиотеки Python 3. Для установки venv введите следующую команду:
С этим модулем мы готовым приступить к созданию сред. Вначале выберем каталог, где мы хотим разместить наши среды программирования Python, или создадим такой каталог с помощью команды mkdir :
Для создания среды перейдите в каталог, где вы хотите разместить среды, и введите следующую команду:
Команда pyvenv настраивает новый каталог, содержащий несколько элементов, которые мы можем просмотреть с помощью команды ls :
Совместная работа этих файлов обеспечивает изоляцию ваших проектов в более широком контексте вашего локального компьютера, так что системные файлы и файлы проекта не смешиваются. Будет очень полезно использовать контроль версий и обеспечить каждому из ваших проектов доступ к конкретным пакетам, которые ему необходимы. Python Wheels — это формат готовых пакетов для Python, помогающий ускорить разработку программного обеспечения за счет сокращения количества операций компиляции. Он находится в каталоге share в Ubuntu 18.04.
Чтобы использовать эту среду, ее нужно активировать. Для этого введите следующую команду, вызывающую скрипт activate:
Префикс сообщает нам, что среда my_env активна, и что при создании программ они будут использовать настройки и пакеты этой конкретной среды.
После выполнения этих шагов ваша виртуальная среда готова к использованию.
Шаг 3 — Создание программы «Hello, World»
Теперь мы настроили нашу виртуальную среду и готовы создать традиционную программу «Hello, World!» Это позволит нам протестировать нашу среду и познакомиться с Python поближе, если мы еще не сделали этого.
Для этого мы откроем текстовый редактор командной строки (например, nano) и создадим новый файл:
Когда текстовый файл откроется в окне терминала, мы введем нашу программу:
После выхода из nano и возврата в оболочку мы запустим программу:
Заключение
Поздравляем! Вы настроили среду программирования Python 3 на своем сервере Debian Linux можете начинать проект по программированию!
Если вы используете локальный компьютер, а не сервер, воспользуйтесь обучающем модулем «Установка и настройка локальной среды программирования для Python 3» для вашей операционной системы.
Ваш сервер готов к разработке программного обеспечения. Дополнительную информацию о программировании на Python вы можете узнать из нашей бесплатной электронной книги «Программирование на Python 3» или в обучающих модулях по проектам программирования.
Python Dev Environment Part 3: Зависимости с Install_requires и требованиями.
В части 1 этой серии мы создали простой пакет распределения Python под названием «pygreet». В части 2 … с меткой Python.
Настройка среды разработки Python (3 части серии)
В части 1 этой серии мы создали простой пакет распределения Python под названием «pygreet». В части 2 мы написали тесты и запустили их, используя Pтойцы.
Кроме того, Ptyest, мы не устанавливали ничего, что еще не было включено в стандартную библиотеку Python. Часто, однако, у пакета будет иметь несколько зависимостей. Как мы лучше всего справляемся?
Давайте рассмотрим дальше.
Добавьте функцию с зависимостью
Возьмите пакет Pygreit, мы создали и добавили дружескую функцию, рассказывая о времени.
Мы добавили две вещи: Импортировать стрелку и greet_city Функция, которая занимает часовой пояс в качестве ввода.
Включите список зависимостей в Install_requires в Setup.py
Потому что стрелка является внешней зависимостью, давайте добавим ее в setup.py :
(Re-) Установка пакета также устанавливает зависимости
Как только это сохраняется, установите наш пакет снова (в редактируемом режиме, как и раньше), должен принести стрелку и ее зависимости.
Выходной вывод должен включать «Успешно установленную стрелку …» и другие пакеты, с номерами версий.
Тестовое задание
Мы не можем забыть написать тест на нашу новую функцию. В тесты каталог, Новый файл под названием test_greet_city.py содержит:
Беги pteest В текущем каталоге. Гордиться
Зависимости развития
Итак, поместите зависимые пакеты Ваше программное обеспечение нужно бежать в install_requires Список в setup.py Отказ
Вы можете запустить этот файл с помощью:
Ваше дерево исходного кода должно выглядеть что-то подобное сейчас:
В следующий раз вы находитесь в свежей системе, вы можете скачать/заказать/потянуть код Python, настроить вашу виртуальную среду, PIP Установить Ваши требования и продолжайте кодирование.
Версии и модернизация
Я решил не указывать версии каждого пакета или верхних/нижних границ для номеров версий. Таким образом, в любое время, I жестяная банка
И обновить все пакеты. Это отлично работает, если я не обращаю внимания на разрыв API изменений в любых из зависимых пакетов. Если это произойдет, будет боль.
Эта серия вводная в природе, и я надеюсь, что вы найдете это полезным. Пожалуйста, продолжайте исследовать и наслаждаться, Python Packaging и управление зависимостями!
Python Development Mode¶
The Python Development Mode introduces additional runtime checks that are too expensive to be enabled by default. It should not be more verbose than the default if the code is correct; new warnings are only emitted when an issue is detected.
Effects of the Python Development Mode¶
Enabling the Python Development Mode is similar to the following command, but with additional effects described below:
Effects of the Python Development Mode:
Install debug hooks on memory allocators to check for:
Memory allocator API violation
Unsafe usage of the GIL
By default, for best performance, the errors argument is only checked at the first encoding/decoding error and the encoding argument is sometimes ignored for empty strings.
The io.IOBase destructor logs close() exceptions.
The Python Development Mode does not enable the tracemalloc module by default, because the overhead cost (to performance and memory) would be too large. Enabling the tracemalloc module provides additional information on the origin of some errors. For example, ResourceWarning logs the traceback where the resource was allocated, and a buffer overflow error logs the traceback where the memory block was allocated.
Changed in version 3.8: The io.IOBase destructor now logs close() exceptions.
Changed in version 3.9: The encoding and errors arguments are now checked for string encoding and decoding operations.
ResourceWarning Example¶
Example of a script counting the number of lines of the text file specified in the command line:
The script does not close the file explicitly. By default, Python does not emit any warning. Example using README.txt, which has 269 lines:
Enabling the Python Development Mode displays a ResourceWarning warning:
In addition, enabling tracemalloc shows the line where the file was opened:
The fix is to close explicitly the file. Example using a context manager:
Not closing a resource explicitly can leave a resource open for way longer than expected; it can cause severe issues upon exiting Python. It is bad in CPython, but it is even worse in PyPy. Closing resources explicitly makes an application more deterministic and more reliable.
Bad file descriptor error example¶
Script displaying the first line of itself:
By default, Python does not emit any warning:
The Python Development Mode shows a ResourceWarning and logs a “Bad file descriptor” error when finalizing the file object: