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

Попытка поэзии, еще один менеджер по зависимости от питона

После того, как попробовал Pyenv и Pipenv, я все еще не уверен, действительно ли это надежно и удобно в использовании …. Tagged With Python, Tuperial, Windows, Fastapi.

После того, как я попробовал Pyenv и Pipenv, я все еще не уверен, действительно ли это надежно и удобно использовать. Иногда я получал ошибку при установке пакета с Pipenv или у меня была проблема при переключении версии с помощью Pyenv. Так что, возможно, эти инструменты недостаточно стабильны (по крайней мере, в моей оконной машине). Затем я нашел этого многообещающего нового менеджера зависимостей для Python с именем Poetry. По внешнему виду его репозитория на GitHub и странице документации я убежден, что этот инструмент более серьезный, чем предыдущие два. Итак, давайте попробуем.

Установка стихов на машине Windows

В настоящее время я использую Python 3.8 на своей машине. На основе Установка документов , Установить стихи довольно проста, но убедитесь, что у вас установлен необходимый Python. Открыть консоль PowerShell с привилегией администратора, используйте этот сценарий и введите:

(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -

Тогда это должно выполнять работу. Вот мой результат журнала:

C:\WINDOWS\system32> (Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -
Retrieving Poetry metadata

This installer is deprecated. Poetry versions installed using this script will not be able to use 'self update' command to upgrade to 1.2.0a1 or later.
# Welcome to Poetry!

This will download and install the latest version of Poetry,
a dependency and package manager for Python.

It will add the `poetry` command to Poetry's bin directory, located at:

%USERPROFILE%\.poetry\bin

This path will then be added to your `PATH` environment variable by
modifying the `HKEY_CURRENT_USER/Environment/PATH` registry key.

You can uninstall at any time by executing this script with the --uninstall option,
and these changes will be reverted.

Installing version: 1.1.7
  - Downloading poetry-1.1.7-win32.tar.gz (52.41MB)

Poetry (1.1.7) is installed now. Great!

To get started you need Poetry's bin directory (%USERPROFILE%\.poetry\bin) in your `PATH`
environment variable. Future applications will automatically have the
correct environment, but you may need to restart your current shell.

Затем откройте новую консоль командной строки (CMD) без привилегии администратора и введите только это и введите:

poetry

Это должно проверять, что поэзия установлена идеально, как это:

C:\Users\dendi>poetry
Poetry version 1.1.7

USAGE
  poetry [-h] [-q] [-v [<...>]] [-V] [--ansi] [--no-ansi] [-n]  [] ... []

ARGUMENTS
                The command to execute
                    The arguments of the command

GLOBAL OPTIONS
  -h (--help)            Display this help message
  -q (--quiet)           Do not output any message
  -v (--verbose)         Increase the verbosity of messages: "-v" for normal output, "-vv" for more verbose output and
                         "-vvv" for debug
  -V (--version)         Display this application version
  --ansi                 Force ANSI output
  --no-ansi              Disable ANSI output
  -n (--no-interaction)  Do not ask any interactive question

AVAILABLE COMMANDS
  about                  Shows information about Poetry.
  add                    Adds a new dependency to pyproject.toml.
  build                  Builds a package, as a tarball and a wheel by default.
  cache                  Interact with Poetry's cache
  check                  Checks the validity of the pyproject.toml file.
  config                 Manages configuration settings.
  debug                  Debug various elements of Poetry.
  env                    Interact with Poetry's project environments.
  export                 Exports the lock file to alternative formats.
  help                   Display the manual of a command
  init                   Creates a basic pyproject.toml file in the current directory.
  install                Installs the project dependencies.
  lock                   Locks the project dependencies.
  new                    Creates a new Python project at .
  publish                Publishes a package to a remote repository.
  remove                 Removes a package from the project dependencies.
  run                    Runs a command in the appropriate environment.
  search                 Searches for packages on remote repositories.
  self                   Interact with Poetry directly.
  shell                  Spawns a shell within the virtual environment.
  show                   Shows information about packages.
  update                 Update the dependencies as according to the pyproject.toml file.
  version                Shows the version of the project or bumps it when a valid bump rule is provided.

Создание базового проекта с использованием поэзии

Давайте создадим простой проект API с использованием FastAPI, начиная сначала создавать базу проекта с поэзией:

poetry new fastapi-example

Он создает новый каталог с этой структурой:

fastapi-example
|__ fastapi_example
    |__ __init__.py
|__ tests
    |__ __init__.py
    |__ test_fastapi_example.py
|__ pyproject.toml
|__ README.rst

Установка пакета с использованием поэзии

Рекомендуется создать виртуальную среду в самом проекте. Установите это с этой командой:

poetry config virtualenvs.in-project true

Пакет, необходимый для проекта, очевидно, FASTAPI упаковка, чтобы добавить его с поэзией:

poetry add fastapi

Каковы изменения после того, как мы добавим Fastapi в проект? Есть два файла, которые затронули: pyproject & Poetry.lock Анкет Изменения похожи на обычный диспетчер зависимостей, так как установлен и перечислен установленный пакет.

Добавление пакета для первого также создаст каталог VirtualENV. В моей машине место по умолчанию в C: \ users \ dendi \ appdata \ local \ pypoetry \ cache \ virtualenvs Анкет

Чтобы продолжить тестирование проекта FASTAPI, нам также нужен Uvicorn для сервера:

poetry add uvicorn[standard]

Тестирование проекта FASTAPI с использованием поэзии

Давайте создадим main.py Подайте корневой каталог проекта и заполните его образец из официальных документов .

После этого давайте запустим его:

poetry run uvicorn main:app --reload

Сервер должен работать и начать, получить доступ к нему в браузере по адресу Localhost: 8000 Анкет

Он работает на вашей машине?

Оригинал: “https://dev.to/dendihandian/trying-poetry-a-new-python-dependency-manager-318k”