Usando o Poetry para gerenciar um pequeno projeto em Python, me deparo com o seguinte erro ao instalar uma dependência:
comando:
$ poetry add newspaper3k
Using version ^0.2.8 for newspaper3k
Updating dependencies
Resolving dependencies... (1.3s)
[ReadError]
file could not be opened successfully
Falhou ao instalar a dependência.
Executei o mesmo comando acima passando -vvv
para exibir as mensagens de debug, omiti parte do debug com [...]
pra não ficar muito extenso:
$ poetry add newspaper3k -vvv
Using virtualenv:
[...]
PyPI: 18 packages found for newspaper3k *
Using version ^0.2.8 for newspaper3k
Updating dependencies
Resolving dependencies...
[...]
PyPI: 1 packages found for newspaper3k >=0.2.8,<0.3.0
[...]
1: selecting feedfinder2 (0.0.4)
PyPI: Getting info for feedparser (5.2.1) from PyPI
PyPI: No dependencies found, downloading archives
PyPI: Downloading sdist: feedparser-5.2.1.tar.bz2
1: Version solving took 0.791 seconds.
1: Tried 1 solutions.
[ReadError]
file could not be opened successfully
Traceback (most recent call last):
[...]
"/home/jhoonb/.poetry/lib/poetry/_vendor/py3.8/pkginfo/sdist.py", line 26, in _get_archive
archive = tarfile.TarFile.open(fqn)
File "/home/jhoonb/.asdf/installs/python/3.8.2/lib/python3.8/tarfile.py", line 1604, in open
raise ReadError("file could not be opened successfully")
O instalador tentou baixar e abrir a seguinte lib feedparser-5.2.1.tar.bz2
, não conseguiu e retornou erro file could not be opened successfully.
a lib newspaper3k depende de feedparser, mas por algum motivo quebrou na instalação.
Tentando instalar a dependência que quebrou via poetry
:
$ poetry add feedparser -vvv
[...]
PyPI: 12 packages found for feedparser *
Using version ^5.2.1 for feedparser
Updating dependencies
Resolving dependencies...
[...]
PyPI: 1 packages found for feedparser >=5.2.1,<6.0.0
PyPI: Getting info for feedparser (5.2.1) from PyPI
PyPI: No dependencies found, downloading archives
PyPI: Downloading sdist: feedparser-5.2.1.tar.bz2
1: Version solving took 0.759 seconds.
1: Tried 1 solutions.
[ReadError]
file could not be opened successfully
Traceback (most recent call last):
File
[...]
"/home/jhoonb/.asdf/installs/python/3.8.2/lib/python3.8/tarfile.py", line 1604, in open
raise ReadError("file could not be opened successfully")
Não conseguimos instalar a lib. Mas tentando instalar pelo pip
a instalação é concluída:
$ pip3 install feedparser
pip3 install feedparser
Collecting feedparser
Using cached feedparser-5.2.1.tar.gz (252 kB)
Building wheels for collected packages: feedparser
Building wheel for feedparser (setup.py) ... done
Created wheel for feedparser: filename=feedparser-5.2.1-py3-none-any.whl size=44939 [...]
Successfully built feedparser
Installing collected packages: feedparser
Successfully installed feedparser-5.2.1
O problema deve ser no poetry, vamos tentar instalar essa dependência apontando para github, no branch master, porque por padrão o branch é develop:
$ poetry add git+https://github.com/kurtmckee/feedparser.git#master
Updating dependencies
Resolving dependencies... (14.3s)
Writing lock file
Package operations: 1 install, 0 updates, 0 removals
- Installing feedparser (5.2.1 cf41851)
Instalado com sucesso! Agora vamos tentar instalar a lib newspaper3k
:
$ poetry add newspaper3k
Using version ^0.2.8 for newspaper3k
Updating dependencies
Resolving dependencies... (16.2s)
Writing lock file
Package operations: 23 installs, 0 updates, 0 removals
- Installing certifi (2020.6.20)
- Installing chardet (3.0.4)
- Installing idna (2.10)
- Installing urllib3 (1.25.9)
- Installing requests (2.24.0)
- Installing soupsieve (1.9.6)
- Installing beautifulsoup4 (4.9.1)
- Installing click (7.1.2)
- Installing joblib (0.16.0)
- Installing regex (2020.6.8)
- Installing requests-file (1.5.1)
- Installing tqdm (4.47.0)
- Installing cssselect (1.1.0)
- Installing feedfinder2 (0.0.4)
- Installing jieba3k (0.35.1)
- Installing lxml (4.5.1)
- Installing nltk (3.5)
- Installing pillow (7.2.0)
- Installing python-dateutil (2.8.1)
- Installing pyyaml (5.3.1)
- Installing tinysegmenter (0.3)
- Installing tldextract (2.2.2)
- Installing newspaper3k (0.2.8)
Conseguimos instalar! Tivemos que adicionar a dependência feedparser
diretamente em nosso projeto apontando para git em branch master.
Fica em aberto a questão do poetry não conseguir instalar a lib newspaper3k
com a dependência diretamente. O pip
conseguiu resolver o problema.
Top comments (0)