Рубрики
Без рубрики

Рабочий процесс развития Python с Pyenv

Я использовал язык программирования Python Programming в течение нескольких лет. Раньше я только … помеченный Python, производительность.

Я использовал язык программирования Python Programming в течение нескольких лет. Ранее я использую Python в основном только на моем назначении UNI или работать на боковом проекте, используя Raspberry Pi. С первого раза я знаю Python, я использовал комбинацию Виртуальский и VirtualenVwrapper Чтобы управлять моей локальной виртуальной средой Python и создать мой рабочий процесс разработки Python. Если вы не используете виртуальную среду на вашем рабочем процессе разработки, я предлагаю вам начать использовать его, потому что он сэкономит вам во многих проблемах в отношении версий пакета, а также делает вашу систему средой очистки.

Мой типичный рабочий процесс разработки Python:

$ mkdir my-awesome-project
$ mkvirtualenv my-awesome-project --python=python3
$ pip install 
$ setvirtualenvproject my-awesome-project .

Вышеуказанные шаги – это то, что я обычно делаю, когда начинаю новый проект.

  • Я создаю новую папку для моего проекта
  • Создать новый Виртуальский (Я использую Python3 )
  • Установите все мои проектные зависимости
  • Установите папку по умолчанию для виртуальной среды, которая вновь создана.

Однажды я сделал выше шага, всякий раз, когда я хочу работать на My-Awesome-Project Я могу просто открыть новый терминал и введите работа над мой-потрясающий проект он автоматически активирует мой-потрясающий проект Virtualenv и входит в мой каталог проекта.

Этот рабочий процесс хорошо работает для меня с первого раза я знал Python и никогда не меняюсь с тех пор. Однако тогда я нашел проблему хочу попробовать новую версию Python, например, у меня есть Python 3.5, установленный на моей машине, и я хочу попробовать версию 3.6, прежде чем решил обновить до новой версии. В моем устаревшем рабочем процессе, я не могу попробовать новую версию Python, не устанавливаю его на мою машину.

Я решил выяснить, как на моей машине установлена множественная версия Python. Если вы когда-либо используете другие языки, такие как JavaScript или Ruby, у них есть инструмент под названием NVM (nodejs) и РБЕНВ (Ruby), который управляет разной версией языкового времени выполнения, установленной на одной машине. Я Google подобная вещь для Python, а затем Пьенв появиться. Этот инструмент позволяет устанавливать несколько версий Python на одной машине.

В следующей паре разделов я опишу, как вы можете установить этот инструмент в OSX и Ubuntu 18.04 (извините Windows user!) А также как я включаю этот инструмент в мой рабочий процесс разработки и сделать его более бесшовным и удобным, чем раньше.

Установите PENV на OSX

Установить Пьенв В OSX довольно просто. Предположим, у вас есть Домашний вид Установлено уже

$ brew update
$ brew install pyenv

Установить Пьенв на Ubuntu 18.04

Шаги, которые я предоставляю ниже, хорошо работает на Ubuntu 18.04. Я предполагаю, что это будет работать с предыдущей версией (но я не гарантирую его)

$ apt-get update
$ apt-get -y upgrade
$ apt-get install -y build-essential libbz2-dev libssl-dev libreadline-dev libsqlite3-dev tk-dev
$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash

После успешного установки вы можете поместить это в конце файла конфигурации оболочки ( .bash_profile или .zshrc Несомненно Так что он автоматически загрузится при запуске вашего терминала.

$ export PATH="~/.pyenv/bin:$PATH"
$ eval "$(pyenv init -)"
$ eval "$(pyenv virtualenv-init -)"
$ source ~/.zshrc # or .bash_profile if you're using bash

После того, как я успешно устанавливаю пинв Я могу начать играть с другой версией Python, а также включать его в мой рабочий процесс развития. Первое, что я делаю, это установить версию Python, которую я хочу, в этом случае, я хочу сохранить Python 3.6, а также хочу играть с Python 3.7.

pyenv install 3.6.6

# after it successfully installed, you can install version 3.7

pyenv install 3.7.0

После того, как все успешно установлено, я могу начать играть с ним.

Примечания: если вы хотите сделать Python 3.6.6 в качестве вашей версии системы Python по умолчанию, вы можете запустить это

$ pyenv global 3.6.6

Новый проект

$ mkdir new-awesome-project
$ pyenv virtualenv 3.6.6 new-awesome-project
$ cd new-awesome-project
$ echo "new-awesome-project" > .python-version'

Вышеуказанный шаг – это то, что я делаю, чтобы начать новый проект

  1. Создайте новую папку для моего проекта
  2. Создайте новую виртуальную среду с помощью Python 3.6.6 и назовите его новый удивительный проект
  3. Перейти в папку проекта
  4. Добавить .python-версия Файл и внутри он поместите имя виртуальной среды, которую этот проект будет использовать. После добавления .python-версия , Ваша оболочка автоматически определяет необходимую виртуальную среду для этого проекта и немедленно активировать ее. Так что теперь каждый раз, когда я вхожу в каталог, это будет активировать Мой Новый удивительный проект Виртуальная среда, и если я выхожу из каталога, он будет дезактивировать Это.

Позвольте сказать, что вы хотите попытаться играть с Python 3.7. Вы можете сделать подобную вещь, как предыдущие шаги.

$ mkdir python37-sandbox
$ pyenv virtualenv 3.7.0 play-with-python3.7
$ cd python37-sandbox
$ echo "play-with-python3.7" > .python-version

После того, как я бегу выше команду, я сразу смогу играть с Python 3.7 в новой виртуальной среде.

Существующий проект

Для существующего проекта, что вы можете сделать:

  • Создать VirtualenV для существующего проекта
  • Добавить .python-версия Файл в корневой папке существующего проекта

    • поставить имя виртуальна внутри этого файла
  • Пип снова устанавливает все требования к проекту

Теперь каждый раз, когда вы входите в каталог проекта, он активирует VirtualenV

Я нашел это Пьенв Это удобный пакет, который помогает мне управлять разной версией Python, установленной на моей машине. Интеграция с моей оболочкой также позволяет легко активировать VirtualenV (HINT: он будет активным сразу после ввода каталога)

Я надеюсь, что вам нравится читать этот пост, и эта информация может быть вам полезна.

Приложение

Если вы столкнулись с этой ошибкой при установке Python 3.7.0 на убунту

BUILD FAILED (Ubuntu 18.04 using python-build 20180424)

Inspect or clean up the working tree at /tmp/python-build.20180825095753.30081
Results logged to /tmp/python-build.20180825095753.30081.log

Last 10 log lines:
  File "/tmp/tmp0ibkfc84/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/__init__.py", line 42, in 
  File "/tmp/tmp0ibkfc84/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/cmdoptions.py", line 16, in 
  File "/tmp/tmp0ibkfc84/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/index.py", line 25, in 
  File "/tmp/tmp0ibkfc84/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/download.py", line 39, in 
  File "/tmp/tmp0ibkfc84/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/utils/glibc.py", line 3, in 
  File "/tmp/python-build.20180825095753.30081/Python-3.7.0/Lib/ctypes/__init__.py", line 7, in 
    from _ctypes import Union, Structure, Array
ModuleNotFoundError: No module named '_ctypes'
Makefile:1122: recipe for target 'install' failed
make: *** [install] Error 1

Вы можете попробовать установить необходимый пакет первым

$ apt-get install libffi-dev

Оригинал: “https://dev.to/martindavid/python-development-workflow-with-pyenv-1h9i”