Python: поиск и установка пакетов (pip & poetry)

Вопросы написания собственного программного кода (на любых языках)

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Python: поиск и установка пакетов (pip & poetry)

Непрочитанное сообщение Olej » 05 янв 2022, 17:50

Многократно использовал (в разных темах здесь) pip search ...
А вот сегодня понадобилось ... и :-o :

Код: Выделить всё

olej@R420:~/2022/rus.linux.net.hist/timeweb$ pip3 search virtualenv
ERROR: Exception:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 186, in _main
    status = self.run(options, args)
  File "/usr/lib/python3/dist-packages/pip/_internal/commands/search.py", line 52, in run
    pypi_hits = self.search(query, options)
  File "/usr/lib/python3/dist-packages/pip/_internal/commands/search.py", line 71, in search
    hits = pypi.search({'name': query, 'summary': query}, 'or')
  File "/usr/lib/python3.8/xmlrpc/client.py", line 1109, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python3.8/xmlrpc/client.py", line 1450, in __request
    response = self.__transport.request(
  File "/usr/lib/python3/dist-packages/pip/_internal/network/xmlrpc.py", line 38, in request
    return self.parse_response(response.raw)
  File "/usr/lib/python3.8/xmlrpc/client.py", line 1341, in parse_response
    return u.close()
  File "/usr/lib/python3.8/xmlrpc/client.py", line 655, in close
    raise Fault(**self._stack[0])
xmlrpc.client.Fault: <Fault -32500: "RuntimeError: PyPI's XMLRPC API is currently disabled due to unmanageable load and will be deprecated in the near future. See https://status.python.org/ for more information.">

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Python: поиск и установка пакетов (pip & poetry)

Непрочитанное сообщение Olej » 05 янв 2022, 18:07

Olej писал(а):
05 янв 2022, 17:50
А вот сегодня понадобилось ... и
Поиск показал Отключение pip search:
17 декабря 2020
Поиск сообщения об ошибке в интернете привел на страницу разработчиков pip с обсуждением неудачного API поиска пакетов, периодически приводящего к повышенной нагрузке на серверы. Запись, объясняющая причину появления ошибки, датирована 14 декабря 2020 года.

Если коротко, то на серверах, обслуживающих инфраструктуру хранения пакетов PyPI, в очередной раз возникла проблема, связанная с обработкой поисковых запросов. Поскольку улучшить ситуацию при нынешней реализации API не представляется возможным, поиск пакетов с помощью pip отключен на неопределённый срок. В качестве альтернативы предлагается использовать веб-поиск на https://pypi.org.
:cry: :-o

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Python: поиск и установка пакетов (pip & poetry)

Непрочитанное сообщение Olej » 05 янв 2022, 18:16

Обновление:

Код: Выделить всё

olej@R420:~/2022/rus.linux.net.hist/timeweb$ sudo python3 -m pip install --upgrade pip
[sudo] пароль для olej:       
Collecting pip
  Downloading pip-21.3.1-py3-none-any.whl (1.7 MB)
     |████████████████████████████████| 1.7 MB 1.1 MB/s 
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.0.2
    Not uninstalling pip at /usr/lib/python3/dist-packages, outside environment /usr
    Can't uninstall 'pip'. No files were found to uninstall.
Successfully installed pip-21.3.1
В данном случае ничего не меняет.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Python: поиск и установка пакетов (pip & poetry)

Непрочитанное сообщение Olej » 05 янв 2022, 20:27

Olej писал(а):
05 янв 2022, 18:07
Поиск показал Отключение pip search:
Похоже, что это до сих пор так (отключено) + так будет всегда...
Olej писал(а):
05 янв 2022, 18:07
В качестве альтернативы предлагается использовать веб-поиск на https://pypi.org.
Но теперь этот онлайн поиск очень обстоятельный ... и выглядит, для контекста поиска "virtualenv" примерно так:
Вложения
Снимок экрана от 2022-01-05 19-24-44.png
Снимок экрана от 2022-01-05 19-24-44.png (135.75 КБ) 1203 просмотра

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Python: поиск и установка пакетов (pip & poetry)

Непрочитанное сообщение Olej » 05 янв 2022, 20:51

Olej писал(а):
05 янв 2022, 20:27
Но теперь этот онлайн поиск очень обстоятельный
Инсталляция из PyPI средствами pip остаётся та же!
The Python Package Index (PyPI) is a repository of software for the Python programming language.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Python: поиск и установка пакетов (pip & poetry)

Непрочитанное сообщение Olej » 05 янв 2023, 15:59

У Python длинная история.
Поэтому и для управления пакетами и их установкой за это время было придумано много систем... (часть из них употреблялись здесь в темах по Python).
Последним из этих систем был pip, которым я пользовался несколько лет...
К большим минусам pip отношу (IMHO) что с некоторого времени в нём убрали функцию search.

Код: Выделить всё

olej@R420:~$ aptitude search pip | grep ^i
i  gstreamer1.0-pipewire - GStreamer 1.0 plugin for the PipeWire multimedia server
i  libpipeline1 - библиотека для управления конвейерами процессов в Unix
i A libpipewire-0.3-0 - служба для обработки аудио и видео в реальном времени — библиотеки
i A libpipewire-0.3-common - libraries for the PipeWire multimedia server - common files
i A libpipewire-0.3-modules - libraries for the PipeWire multimedia server - modules
i A pipewire - audio and video processing engine multimedia server
i A pipewire-bin - PipeWire multimedia server - programs
i A pipewire-media-session - example session manager for PipeWire
i  python3-pip - Python package installer
i A python3-pip-whl - Python package installer (pip wheel)

Код: Выделить всё

olej@R420:~$ aptitude show python3-pip
Пакет: python3-pip                               
Версия: 22.0.2+dfsg-1
Новый: да
Состояние: установлен
Установлен автоматически: нет
Приоритет: необязательный
Раздел: universe/python
Сопровождающий: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Архитектура: all
Размер в распакованном виде: 7.041 k
Зависит: ca-certificates, python3-distutils, python3-setuptools, python3-wheel, python3:any
Рекомендует: build-essential, python3-dev (>= 3.2)
Ломает: python-pip
Заменяет: python-pip
Предоставляет: pip
Описание: Python package installer
 pip is the Python package installer.  It integrates with virtualenv, doesn't do partial installs, can save package state for replaying, can install
 from non-egg sources, and can install from version control repositories. 
 
 This is the Python 3 version of the package.
Домашняя страница: https://pip.pypa.io/en/stable/

Код: Выделить всё

olej@R420:~$ pip --version
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)
Из новых появился poetry. Стал модным.

Код: Выделить всё

olej@R420:~$ aptitude search poetry
p   python3-poetry                                                     - Python dependency management and packaging made easy (Python 3)              
p   python3-poetry-core                                                - Poetry PEP 517 Build Backend                                                 

Код: Выделить всё

olej@R420:~$ aptitude show python3-poetry
Пакет: python3-poetry                            
Версия: 1.1.12+dfsg-1
Новый: да
Состояние: не установлен
Приоритет: необязательный
Раздел: universe/python
Сопровождающий: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Архитектура: all
Размер в распакованном виде: 725 k
Зависит: python3-lockfile (>= 1:0.12.2), python3-cachecontrol (>= 0.12.6) | python3 (> 3.6), python3-cachy (>= 0.3.0), python3-cleo (>= 0.8.1),
         python3-clikit (>= 0.6.2), python3-html5lib (>= 0.3.1), python3-importlib-metadata | python3 (> 3.8), python3-packaging, python3-pexpect (>=
         4.8.0), python3-pkginfo (>= 1.7.0), python3-poetry-core (>= 1.0.7), python3-requests (>= 2.25.1), python3-requests-toolbelt (>= 0.9.1),
         python3-shellingham (>= 1.3.2), python3-tomlkit, python3-virtualenv (>= 20.4.0), python3:any
Описание: Python dependency management and packaging made easy (Python 3)
 Poetry helps you declare, manage and install dependencies of Python projects, ensuring you have the right stack everywhere. 
 
 This package installs the library for Python 3.
Домашняя страница: https://python-poetry.org/

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Python: поиск и установка пакетов (pip & poetry)

Непрочитанное сообщение Olej » 05 янв 2023, 16:25

Olej писал(а):
05 янв 2023, 15:59
Последним из этих систем был pip, которым я пользовался несколько лет...
pip хорошо известен:

Код: Выделить всё

olej@R420:~$ pip --help

Usage:   
  pip <command> [options]

Commands:
  install                     Install packages.
  download                    Download packages.
  uninstall                   Uninstall packages.
  freeze                      Output installed packages in requirements format.
  list                        List installed packages.
  show                        Show information about installed packages.
  check                       Verify installed packages have compatible dependencies.
  config                      Manage local and global configuration.
  search                      Search PyPI for packages.
  cache                       Inspect and manage pip's wheel cache.
  index                       Inspect information available from package indexes.
  wheel                       Build wheels from your requirements.
  hash                        Compute hashes of package archives.
  completion                  A helper command used for command completion.
  debug                       Show information useful for debugging.
  help                        Show help for commands.

General Options:
  -h, --help                  Show help.
  --debug                     Let unhandled exceptions propagate outside the main subroutine, instead of logging them to stderr.
  --isolated                  Run pip in an isolated mode, ignoring environment variables and user configuration.
  --require-virtualenv        Allow pip to only run in a virtual environment; exit with an error otherwise.
  -v, --verbose               Give more output. Option is additive, and can be used up to 3 times.
  -V, --version               Show version and exit.
  -q, --quiet                 Give less output. Option is additive, and can be used up to 3 times (corresponding to WARNING, ERROR, and CRITICAL
                              logging levels).
  --log <path>                Path to a verbose appending log.
  --no-input                  Disable prompting for input.
  --proxy <proxy>             Specify a proxy in the form [user:passwd@]proxy.server:port.
  --retries <retries>         Maximum number of retries each connection should attempt (default 5 times).
  --timeout <sec>             Set the socket timeout (default 15 seconds).
  --exists-action <action>    Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort.
  --trusted-host <hostname>   Mark this host or host:port pair as trusted, even though it does not have valid or any HTTPS.
  --cert <path>               Path to PEM-encoded CA certificate bundle. If provided, overrides the default. See 'SSL Certificate Verification' in
                              pip documentation for more information.
  --client-cert <path>        Path to SSL client certificate, a single file containing the private key and the certificate in PEM format.
  --cache-dir <dir>           Store the cache data in <dir>.
  --no-cache-dir              Disable the cache.
  --disable-pip-version-check
                              Don't periodically check PyPI to determine whether a new version of pip is available for download. Implied with --no-
                              index.
  --no-color                  Suppress colored output.
  --no-python-version-warning
                              Silence deprecation warnings for upcoming unsupported Pythons.
  --use-feature <feature>     Enable new functionality, that may be backward incompatible.
  --use-deprecated <feature>  Enable deprecated functionality, that will be removed in the future.
Вот что у меня в системе было накоплено за это время:

Код: Выделить всё

olej@R420:~$ pip list
Package                Version
---------------------- ---------------
appdirs                1.4.4
apsw                   3.36.0.post1
apt-clone              0.2.1
apturl                 0.5.2
attrs                  21.2.0
backcall               0.2.0
beautifulsoup4         4.10.0
beniget                0.4.1
blinker                1.4
bottle                 0.12.19
breezy                 3.2.1
Brlapi                 0.8.3
Brotli                 1.0.9
certifi                2020.6.20
chardet                4.0.0
click                  8.0.3
colorama               0.4.4
command-not-found      0.3
configobj              5.0.6
crudini                0.9.3
cryptography           3.4.8
css-parser             1.0.7
cssselect              1.1.0
cssutils               1.0.2
cupshelpers            1.0
cycler                 0.11.0
dbus-python            1.2.18
decorator              4.4.2
defer                  1.0.6
defusedxml             0.7.1
Deprecated             1.2.13
distro                 1.7.0
dnspython              2.1.0
dulwich                0.20.31
entrypoints            0.4
eyeD3                  0.8.10
fastbencode            0.0.5
fastimport             0.9.14
fbless                 0.2.3
feedparser             6.0.8
filelock               3.6.0
fonttools              4.29.1
fs                     2.4.12
future                 0.18.2
galternatives          1.0.8
gast                   0.5.2
Glances                3.2.4.2
gpg                    1.16.0-unknown
grpcio                 1.30.2
html2text              2020.1.16
html5-parser           0.4.10
html5lib               1.1
httplib2               0.20.2
idna                   3.3
ifaddr                 0.1.7
IMDbPY                 2021.4.18
importlib-metadata     4.6.4
influxdb               5.3.1
iniconfig              1.1.1
iniparse               0.4
ipython                7.31.1
jedi                   0.18.0
jeepney                0.7.1
keyring                23.5.0
kiwisolver             1.3.2
launchpadlib           1.10.16
lazr.restfulclient     0.14.4
lazr.uri               1.0.6
louis                  3.20.0
lxml                   4.8.0
lz4                    3.1.3+dfsg
macaroonbakery         1.3.1
Mako                   1.1.3
Markdown               3.3.6
MarkupSafe             2.0.1
matplotlib             3.5.1
matplotlib-inline      0.1.3
mechanize              0.4.7
mercurial              6.1.1
more-itertools         8.10.0
mpmath                 0.0.0
msgpack                1.0.3
nemo-emblems           5.6.0
netaddr                0.8.0
netifaces              0.11.0
nose                   1.3.7
numpy                  1.21.5
oauthlib               3.2.0
onboard                1.4.1
packaging              21.3
PAM                    0.4.2
parso                  0.8.1
patiencediff           0.2.1
pexpect                4.8.0
pickleshare            0.7.5
Pillow                 9.0.1
pip                    22.0.2
pluggy                 0.13.0
ply                    3.11
prompt-toolkit         3.0.28
protobuf               3.12.4
psutil                 5.9.0
ptyprocess             0.7.0
py                     1.10.0
py7zr                  0.11.3+dfsg
pyasn1                 0.4.8
pycairo                1.20.1
pychm                  0.8.6
pycryptodomex          3.11.0
pycups                 2.0.1
pycurl                 7.44.1
pyelftools             0.27
PyGithub               1.55
Pygments               2.11.2
PyGObject              3.42.1
PyICU                  2.8.1
pyinotify              0.9.6
PyJWT                  2.3.0
pymacaroons            0.13.0
PyNaCl                 1.5.0
pyparsing              2.4.7
pyparted               3.11.7
PyQt5                  5.15.6
PyQt5-sip              12.9.1
PyQtWebEngine          5.15.5
pyRFC3339              1.1
pysmi                  0.3.2
pysnmp                 4.4.12
PySocks                1.7.1
pystache               0.6.0
pytest                 6.2.5
python-apt             2.3.0+ubuntu2.1
python-dateutil        2.8.1
python-debian          0.1.43ubuntu1
python-gitlab          2.10.1
python-gnupg           0.4.8
python-magic           0.4.24
python-xlib            0.29
pythran                0.10.0
pytz                   2022.1
pyxattr                0.7.2
pyxdg                  0.27
PyYAML                 5.4.1
regex                  2021.11.10
reportlab              3.6.8
repoze.lru             0.7
requests               2.25.1
requests-file          1.5.1
requests-toolbelt      0.9.1
requests-unixsocket    0.2.0
Routes                 2.5.1
scipy                  1.8.0
SecretStorage          3.3.1
setproctitle           1.2.2
setuptools             59.6.0
sgmllib3k              1.0.0
simplejson             3.17.6
six                    1.16.0
soupsieve              2.3.1
speedtest-cli          2.1.3
ssh-import-id          5.11
sympy                  1.9
systemd-python         234
texttable              1.6.4
tinycss2               1.1.1
tldextract             3.1.2
toml                   0.10.2
torbrowser-launcher    0.3.3
traitlets              5.1.1
ubuntu-advantage-tools 27.12
ubuntu-drivers-common  0.0.0
ufoLib2                0.13.1
ufw                    0.36.1
unicodedata2           14.0.0
Unidecode              1.3.3
urllib3                1.26.5
vboxapi                1.0
wadllib                1.3.6
wcwidth                0.2.5
webencodings           0.5.1
WebOb                  1.8.6
wheel                  0.37.1
wrapt                  1.13.3
xdg                    5
xkit                   0.0.0
xlrd                   1.2.0
youtube-dl             2021.12.17
zeroconf               0.38.3
zipp                   1.0.0

Код: Выделить всё

olej@R420:~$ pip list | wc -l
191

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Python: поиск и установка пакетов (pip & poetry)

Непрочитанное сообщение Olej » 05 янв 2023, 16:40

Olej писал(а):
05 янв 2023, 15:59
Из новых появился poetry. Стал модным.
Poetry — прекрасная альтернатива pip (шпаргалка)
6 декабря 2021
Poetry - это инструмент для управления зависимостями в Python проектах (аналог встроенного pip).
Почему лучше использовать Poetry вместо Pip или Conda для проектов Python
02 июня 2022
Сравнение инструментов управления зависимостями (dependency management) в Python.
Менеджер зависимостей Poetry - полный обзор от установки до настройки
18.10.2021
Poetry — это инструмент для управления зависимостями и сборкой пакетов в Python.
В Poetry представлен полный набор инструментов, которые могут понадобиться для детерминированного управления проектами на Python. В том числе, сборка пакетов, поддержка разных версий языка, тестирование и развертывание проектов.
Poetry — менеджер пакетов для Python
04.06.2022
Егор Егоров
Poetry — это совершенно новый подход к управлению зависимостями и виртуальным окружением в Python. Это бесплатный и с открытым исходным кодом проект, задачи которого — обеспечить более предсказуемую и удобную среду для работы с экосистемой управления пакетами в Python.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Python: поиск и установка пакетов (pip & poetry)

Непрочитанное сообщение Olej » 05 янв 2023, 17:06

Olej писал(а):
05 янв 2023, 15:59
Из новых появился poetry.

Код: Выделить всё

olej@R420:~$ aptitude show python3-poetry
Пакет: python3-poetry                            
Версия: 1.1.12+dfsg-1
Новый: да
Состояние: не установлен
Приоритет: необязательный
Раздел: universe/python
Сопровождающий: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Архитектура: all
Размер в распакованном виде: 725 k
Зависит: python3-lockfile (>= 1:0.12.2), python3-cachecontrol (>= 0.12.6) | python3 (> 3.6), python3-cachy (>= 0.3.0), python3-cleo (>= 0.8.1),
         python3-clikit (>= 0.6.2), python3-html5lib (>= 0.3.1), python3-importlib-metadata | python3 (> 3.8), python3-packaging, python3-pexpect (>=
         4.8.0), python3-pkginfo (>= 1.7.0), python3-poetry-core (>= 1.0.7), python3-requests (>= 2.25.1), python3-requests-toolbelt (>= 0.9.1),
         python3-shellingham (>= 1.3.2), python3-tomlkit, python3-virtualenv (>= 20.4.0), python3:any
Описание: Python dependency management and packaging made easy (Python 3)
 Poetry helps you declare, manage and install dependencies of Python projects, ensuring you have the right stack everywhere. 
 
 This package installs the library for Python 3.
Домашняя страница: https://python-poetry.org/

Код: Выделить всё

olej@R420:~$ sudo apt install python3-poetry
[sudo] пароль для olej:       
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово         
Будут установлены следующие дополнительные пакеты:
  python-pkginfo-doc python3-cachy python3-cleo python3-clikit python3-crashtest python3-distlib python3-lockfile python3-pastel python3-pkginfo
  python3-platformdirs python3-poetry-core python3-pylev python3-shellingham python3-tomlkit python3-virtualenv python3-wheel-whl
Предлагаемые пакеты:
  python-cleo-doc python-lockfile-doc python2-pip-whl python2-setuptools-whl
Следующие НОВЫЕ пакеты будут установлены:
  python-pkginfo-doc python3-cachy python3-cleo python3-clikit python3-crashtest python3-distlib python3-lockfile python3-pastel python3-pkginfo
  python3-platformdirs python3-poetry python3-poetry-core python3-pylev python3-shellingham python3-tomlkit python3-virtualenv python3-wheel-whl
Обновлено 0 пакетов, установлено 17 новых пакетов, для удаления отмечено 0 пакетов, и 3 пакетов не обновлено.
Необходимо скачать 986 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 5.229 kB.
Хотите продолжить? [Д/н] y
Пол:1 http://ubuntu.colocall.net/ubuntu jammy/universe amd64 python-pkginfo-doc all 1.8.2-1 [24,7 kB]
Пол:2 http://ubuntu.colocall.net/ubuntu jammy/universe amd64 python3-cachy all 0.3.0-4 [12,0 kB]
Пол:3 http://ubuntu.colocall.net/ubuntu jammy/universe amd64 python3-crashtest all 0.3.1-2 [5.428 B]
Пол:4 http://ubuntu.colocall.net/ubuntu jammy/universe amd64 python3-pastel all 0.2.1-2 [6.370 B]
Пол:5 http://ubuntu.colocall.net/ubuntu jammy/universe amd64 python3-pylev all 1.2.0-2 [4.444 B]
Пол:6 http://ubuntu.colocall.net/ubuntu jammy/universe amd64 python3-clikit all 0.6.2-3 [48,6 kB]
Пол:7 http://ubuntu.colocall.net/ubuntu jammy/universe amd64 python3-cleo all 0.8.1-4 [18,8 kB]
Пол:8 http://ubuntu.colocall.net/ubuntu jammy/universe amd64 python3-distlib all 0.3.4-1 [269 kB]
Пол:9 http://ubuntu.colocall.net/ubuntu jammy/main amd64 python3-lockfile all 1:0.12.2-2.2 [14,6 kB]
Пол:10 http://ubuntu.colocall.net/ubuntu jammy/universe amd64 python3-pkginfo all 1.8.2-1 [15,4 kB]
Пол:11 http://ubuntu.colocall.net/ubuntu jammy/universe amd64 python3-platformdirs all 2.5.1-1 [14,2 kB]
Пол:12 http://ubuntu.colocall.net/ubuntu jammy/universe amd64 python3-poetry-core all 1.0.7-2 [276 kB]
Пол:13 http://ubuntu.colocall.net/ubuntu jammy/universe amd64 python3-shellingham all 1.4.0-1 [9.496 B]
Пол:14 http://ubuntu.colocall.net/ubuntu jammy/universe amd64 python3-tomlkit all 0.9.2-1 [32,0 kB]
Пол:15 http://ubuntu.colocall.net/ubuntu jammy/universe amd64 python3-wheel-whl all 0.37.1-2 [37,9 kB]
Пол:16 http://ubuntu.colocall.net/ubuntu jammy/universe amd64 python3-virtualenv all 20.13.0+ds-2 [80,3 kB]
Пол:17 http://ubuntu.colocall.net/ubuntu jammy/universe amd64 python3-poetry all 1.1.12+dfsg-1 [116 kB]
Получено 986 kB за 1с (750 kB/s)         
Выбор ранее не выбранного пакета python-pkginfo-doc.
(Чтение базы данных … на данный момент установлено 485883 файла и каталога.)
Подготовка к распаковке …/00-python-pkginfo-doc_1.8.2-1_all.deb …
Распаковывается python-pkginfo-doc (1.8.2-1) …
Выбор ранее не выбранного пакета python3-cachy.
Подготовка к распаковке …/01-python3-cachy_0.3.0-4_all.deb …
Распаковывается python3-cachy (0.3.0-4) …
Выбор ранее не выбранного пакета python3-crashtest.
Подготовка к распаковке …/02-python3-crashtest_0.3.1-2_all.deb …
Распаковывается python3-crashtest (0.3.1-2) …
Выбор ранее не выбранного пакета python3-pastel.
Подготовка к распаковке …/03-python3-pastel_0.2.1-2_all.deb …
Распаковывается python3-pastel (0.2.1-2) …
Выбор ранее не выбранного пакета python3-pylev.
Подготовка к распаковке …/04-python3-pylev_1.2.0-2_all.deb …
Распаковывается python3-pylev (1.2.0-2) …
Выбор ранее не выбранного пакета python3-clikit.
Подготовка к распаковке …/05-python3-clikit_0.6.2-3_all.deb …
Распаковывается python3-clikit (0.6.2-3) …
Выбор ранее не выбранного пакета python3-cleo.
Подготовка к распаковке …/06-python3-cleo_0.8.1-4_all.deb …
Распаковывается python3-cleo (0.8.1-4) …
Выбор ранее не выбранного пакета python3-distlib.
Подготовка к распаковке …/07-python3-distlib_0.3.4-1_all.deb …
Распаковывается python3-distlib (0.3.4-1) …
Выбор ранее не выбранного пакета python3-lockfile.
Подготовка к распаковке …/08-python3-lockfile_1%3a0.12.2-2.2_all.deb …
Распаковывается python3-lockfile (1:0.12.2-2.2) …
Выбор ранее не выбранного пакета python3-pkginfo.
Подготовка к распаковке …/09-python3-pkginfo_1.8.2-1_all.deb …
Распаковывается python3-pkginfo (1.8.2-1) …
Выбор ранее не выбранного пакета python3-platformdirs.
Подготовка к распаковке …/10-python3-platformdirs_2.5.1-1_all.deb …
Распаковывается python3-platformdirs (2.5.1-1) …
Выбор ранее не выбранного пакета python3-poetry-core.
Подготовка к распаковке …/11-python3-poetry-core_1.0.7-2_all.deb …
Распаковывается python3-poetry-core (1.0.7-2) …
Выбор ранее не выбранного пакета python3-shellingham.
Подготовка к распаковке …/12-python3-shellingham_1.4.0-1_all.deb …
Распаковывается python3-shellingham (1.4.0-1) …
Выбор ранее не выбранного пакета python3-tomlkit.
Подготовка к распаковке …/13-python3-tomlkit_0.9.2-1_all.deb …
Распаковывается python3-tomlkit (0.9.2-1) …
Выбор ранее не выбранного пакета python3-wheel-whl.
Подготовка к распаковке …/14-python3-wheel-whl_0.37.1-2_all.deb …
Распаковывается python3-wheel-whl (0.37.1-2) …
Выбор ранее не выбранного пакета python3-virtualenv.
Подготовка к распаковке …/15-python3-virtualenv_20.13.0+ds-2_all.deb …
Распаковывается python3-virtualenv (20.13.0+ds-2) …
Выбор ранее не выбранного пакета python3-poetry.
Подготовка к распаковке …/16-python3-poetry_1.1.12+dfsg-1_all.deb …
Распаковывается python3-poetry (1.1.12+dfsg-1) …
Настраивается пакет python3-lockfile (1:0.12.2-2.2) …
Настраивается пакет python3-pkginfo (1.8.2-1) …
Настраивается пакет python3-pylev (1.2.0-2) …
Настраивается пакет python3-distlib (0.3.4-1) …
Настраивается пакет python3-platformdirs (2.5.1-1) …
Настраивается пакет python-pkginfo-doc (1.8.2-1) …
Настраивается пакет python3-poetry-core (1.0.7-2) …
Настраивается пакет python3-crashtest (0.3.1-2) …
Настраивается пакет python3-cachy (0.3.0-4) …
Настраивается пакет python3-pastel (0.2.1-2) …
Настраивается пакет python3-shellingham (1.4.0-1) …
Настраивается пакет python3-tomlkit (0.9.2-1) …
Настраивается пакет python3-wheel-whl (0.37.1-2) …
Настраивается пакет python3-virtualenv (20.13.0+ds-2) …
Настраивается пакет python3-clikit (0.6.2-3) …
Настраивается пакет python3-cleo (0.8.1-4) …
Настраивается пакет python3-poetry (1.1.12+dfsg-1) …
Обрабатываются триггеры для man-db (2.10.2-1) …
Обрабатываются триггеры для doc-base (0.11.1) …
Обработка 1 добавленный файл doc-base...

Код: Выделить всё

olej@R420:~$ which poetry
/usr/bin/poetry

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Python: поиск и установка пакетов (pip & poetry)

Непрочитанное сообщение Olej » 05 янв 2023, 17:23

Первейшее использование poetry даёт нам вот такой облом :-o :

Код: Выделить всё

olej@R420:~/2023/Python$ poetry new new_proj
Traceback (most recent call last):
  File "/usr/bin/poetry", line 5, in <module>
    from poetry.console import main
  File "/usr/lib/python3/dist-packages/poetry/console/__init__.py", line 1, in <module>
    from .application import Application
  File "/usr/lib/python3/dist-packages/poetry/console/application.py", line 7, in <module>
    from .commands.about import AboutCommand
  File "/usr/lib/python3/dist-packages/poetry/console/commands/__init__.py", line 4, in <module>
    from .check import CheckCommand
  File "/usr/lib/python3/dist-packages/poetry/console/commands/check.py", line 2, in <module>
    from poetry.factory import Factory
  File "/usr/lib/python3/dist-packages/poetry/factory.py", line 18, in <module>
    from .repositories.pypi_repository import PyPiRepository
  File "/usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py", line 11, in <module>
    from cachecontrol import CacheControl
ModuleNotFoundError: No module named 'cachecontrol'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 153, in apport_excepthook
    with os.fdopen(os.open(pr_filename,
FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_bin_poetry.1000.crash'

Original exception was:
Traceback (most recent call last):
  File "/usr/bin/poetry", line 5, in <module>
    from poetry.console import main
  File "/usr/lib/python3/dist-packages/poetry/console/__init__.py", line 1, in <module>
    from .application import Application
  File "/usr/lib/python3/dist-packages/poetry/console/application.py", line 7, in <module>
    from .commands.about import AboutCommand
  File "/usr/lib/python3/dist-packages/poetry/console/commands/__init__.py", line 4, in <module>
    from .check import CheckCommand
  File "/usr/lib/python3/dist-packages/poetry/console/commands/check.py", line 2, in <module>
    from poetry.factory import Factory
  File "/usr/lib/python3/dist-packages/poetry/factory.py", line 18, in <module>
    from .repositories.pypi_repository import PyPiRepository
  File "/usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py", line 11, in <module>
    from cachecontrol import CacheControl
ModuleNotFoundError: No module named 'cachecontrol'
Хорошо что я знаком с Python ... а как быть тому кто это видит первый раз?

Код: Выделить всё

olej@R420:~/2023/Python$ pip install cachecontrol
Defaulting to user installation because normal site-packages is not writeable
Collecting cachecontrol
  Downloading CacheControl-0.12.11-py2.py3-none-any.whl (21 kB)
Requirement already satisfied: msgpack>=0.5.2 in /usr/lib/python3/dist-packages (from cachecontrol) (1.0.3)
Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from cachecontrol) (2.25.1)
Installing collected packages: cachecontrol
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
poetry 1.1.12 requires keyring<22.0.0,>=21.2.0; python_version >= "3.6" and python_version < "4.0", but you have keyring 23.5.0 which is incompatible.
poetry 1.1.12 requires packaging<21.0,>=20.4, but you have packaging 21.3 which is incompatible.
Successfully installed cachecontrol-0.12.11

Код: Выделить всё

olej@R420:~/2023/Python$ poetry new new_proj
Created package new_proj in new_proj
Создан новый проект:

Код: Выделить всё

olej@R420:~/2023/Python$ tree new_proj 
new_proj
├── new_proj
│   └── __init__.py
├── pyproject.toml
├── README.rst
└── tests
    ├── __init__.py
    └── test_new_proj.py

2 directories, 5 files
Т.е. понятно ... вместо pip и консольных разработок Python теперь строится ... Windows-way (понты :evil: ) проект.

Ответить

Вернуться в «Программирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей