Cette préoccupation précise semble avoir été soulevée et rejetée dans la question 613. À un moment donné, pipenv a abandonné la prise en charge appropriée des clés citées. Si ce n'est pas le cas, j'espère pouvoir être dirigé vers la spécification utilisée afin de mieux construire mes Pipfiles.
Les paragraphes relatifs aux clés entre guillemets et pointillés dans la section Clés de ce README sont pertinents pour ce problème : https://github.com/toml-lang/toml#keys
Ce fichier Pipfile...
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"
["requires"]
python_version = "3.6"
[packages]
motor = "*"
[packages."discord.py"]
git = "https://github.com/Rapptz/discord.py.git"
ref = "rewrite"
editable = true
extras = ["voice"]
Devrait rendre le dictionnaire suivant... ( parsé par
{'packages': {'discord.py': {'editable': True,
'extras': ['voice'],
'git': 'https://github.com/Rapptz/discord.py.git',
'ref': 'rewrite'},
'motor': '*'},
'requires': {'python_version': '3.6'},
'source': [{'name': 'pypi',
'url': 'https://pypi.python.org/simple',
'verify_ssl': True}]}
Traceback (most recent call last):
File "/home/akirasama/.local/bin/pipenv", line 11, in <module>
sys.exit(cli())
File "/home/akirasama/.local/venvs/pipenv/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/home/akirasama/.local/venvs/pipenv/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/home/akirasama/.local/venvs/pipenv/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/akirasama/.local/venvs/pipenv/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/akirasama/.local/venvs/pipenv/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/home/akirasama/.local/venvs/pipenv/lib/python3.6/site-packages/pipenv/vendor/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/akirasama/.local/venvs/pipenv/lib/python3.6/site-packages/pipenv/cli.py", line 433, in sync
clear=clear, unused=unused, sequential=sequential
File "/home/akirasama/.local/venvs/pipenv/lib/python3.6/site-packages/pipenv/core.py", line 2389, in do_sync
ensure_project(three=three, python=python, validate=False)
File "/home/akirasama/.local/venvs/pipenv/lib/python3.6/site-packages/pipenv/core.py", line 603, in ensure_project
ensure_virtualenv(three=three, python=python, site_packages=site_packages)
File "/home/akirasama/.local/venvs/pipenv/lib/python3.6/site-packages/pipenv/core.py", line 548, in ensure_virtualenv
python = ensure_python(three=three, python=python)
File "/home/akirasama/.local/venvs/pipenv/lib/python3.6/site-packages/pipenv/core.py", line 424, in ensure_python
python = project.required_python_version
File "/home/akirasama/.local/venvs/pipenv/lib/python3.6/site-packages/pipenv/project.py", line 110, in required_python_version
required = self.parsed_pipfile.get('requires', {}).get('python_full_version')
File "/home/akirasama/.local/venvs/pipenv/lib/python3.6/site-packages/pipenv/project.py", line 271, in parsed_pipfile
return contoml.loads(toml.dumps(data, preserve=True))
File "/home/akirasama/.local/venvs/pipenv/lib/python3.6/site-packages/pipenv/patched/contoml/__init__.py", line 15, in loads
elements = parse_tokens(tokens)
File "/home/akirasama/.local/venvs/pipenv/lib/python3.6/site-packages/pipenv/patched/prettytoml/parser/__init__.py", line 17, in parse_tokens
return _parse_token_stream(TokenStream(tokens))
File "/home/akirasama/.local/venvs/pipenv/lib/python3.6/site-packages/pipenv/patched/prettytoml/parser/__init__.py", line 32, in _parse_token_stream
raise ParsingError('Failed to parse line {}'.format(pending.head.row))
prettytoml.parser.errors.ParsingError: Failed to parse line 11
$ pipenv lock
@kennethreitz
Pourriez-vous expliquer pourquoi cette partie de la spécification TOML ne sera pas prise en charge ? Je préférerais vraiment ne pas avoir à recourir à des tableaux en ligne pour tous mes packages.
Serait-il préférable que je pose un problème sur le référentiel pipfile concernant son adhésion à la spécification TOML ?
nous allons le réparer, c'est juste une faible priorité pour nous en ce moment
Je vois. L'étiquette wontfix
m'a rendu confus. Merci!
Commentaire le plus utile
Je vois. L'étiquette
wontfix
m'a rendu confus. Merci!