web-dev-qa-db-fra.com

Comment figer une exigence avec pipenv?

Par exemple, nous avons un fichier pip (ci-dessous) et je voudrais geler la version Django. Nous n'avons pas de requirements.txt et nous utilisons uniquement pipenv. Comment puis-je geler le = Django version?

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
Django = "*"

[dev-packages]
black = "*"

[requires]
python_version = "3.6"
9
Harsha Goli

C'est aussi simple que de changer Django = "*" à Django = "your-preferred-version". Donc, si vous vouliez le geler en 2.1, la dernière version au moment d'écrire ces lignes, vous pouvez le faire:

[packages]
Django="2.1"

Le repo pipfile Git a de bons exemples de différentes façons de spécifier les chaînes de version: https://github.com/pypa/pipfile#pipfile

Notez que lorsque vous générez un fichier de verrouillage à partir de votre fichier pip, ce fichier de verrouillage est en fait le fichier qui est censé "geler" votre dépendance vers une version spécifique. De cette façon, vous n'avez pas à vous soucier de la version qui fonctionne avec votre code, car en distribuant le fichier de verrouillage, tout le monde doit utiliser les mêmes versions de dépendance que vous. Les développeurs de pipenv destinés aux développeurs de l'utiliser comme ceci: https://github.com/pypa/pipfile/issues/7

1
Zach Bloomquist

Pipenv implémente nativement le gel requirements.txt. C'est aussi simple que:

pipenv lock -r > requirements.txt
2

Vous pouvez créer un requirements.txt à l'aide de cette commande:

pip3 freeze > requirements.tx
0
Alouani Younes