Esta preocupación exacta parece haber sido planteada y descartada en el número 613. En algún momento pipenv abandonó el soporte adecuado para las claves entre comillas. Si este no es el caso, tengo la esperanza de que se me pueda señalar la especificación utilizada para construir mejor mis Pipfiles.
Los párrafos relacionados con las claves entre comillas y punteadas en la sección Claves de este README son relevantes para este problema: https://github.com/toml-lang/toml#keys
Este 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"]
Debería representar el siguiente diccionario ... (analizado por toml y prettyprinted)
{'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
¿Podría explicar por qué no se admitirá esta parte de la especificación TOML? Realmente prefiero no tener que recurrir a tablas en línea para todos mis paquetes.
¿Sería mejor que haga un problema en el repositorio pipfile con respecto a su adherencia a la especificación TOML?
lo arreglaremos, es una prioridad baja para nosotros en este momento
Veo. La etiqueta wontfix
me confundió. ¡Gracias!
Comentario más útil
Veo. La etiqueta
wontfix
me confundió. ¡Gracias!