Début 2018, Pipenv est recommandé. J'ai remarqué que le nombre de bibliothèques fournissant des binaires pour Windows a considérablement augmenté, vous ne devriez donc pas avoir de problème sans utiliser (Mini | Ana) Conda.
En parlant d'environnement de développement Python ces jours-ci, je pense que les modèles suivants sont courants.
Une fois que vous êtes prêt, vous aurez un environnement flexible, mais il y a de nombreuses étapes et vous devrez déployer beaucoup de choses autres que python. De plus, certains sont difficiles à déployer sous Windows. J'ai donc créé un package python pur qui facilite un peu la gestion de l'environnement virtualenv pour chaque projet.
À l'origine, l'idéal était qu'il était facile à configurer, il suffit de le régler sur python hoge.py
comme l'exécution normale d'un script, l'environnement virtualenv dédié a été activé et les packages nécessaires ont été inclus. Le script devait être lancé. En termes simples, le package qui réalise cela est le vebootstrap
créé cette fois.
vebootstrap https://pypi.python.org/pypi/vebootstrap https://github.com/tomoemon/vebootstrap
Je m'en fiche car je ne change pas trop de version de python lors de l'écriture d'un petit script personnel (je devrais pouvoir l'utiliser en combinaison avec pythonz etc. si nécessaire).
vebootstrap
)python
tel quel, soit dans le chemin, soit en spécifiant explicitement le chemin complet)Installez vebootstrap à l'aide du pip qui correspond au python que vous prévoyez d'utiliser. Si vous utilisez la norme système python dans un environnement Linux, vous aurez besoin de sudo.
$ pip install vebootstrap
Veuillez modifier le nom de répertoire et le nom de fichier de script suivants comme il convient. Cependant, ne modifiez pas requirements.txt
car vebootstrap recherchera un fichier portant ce nom. De plus, dans l'exemple, il est exécuté après cd
dans le répertoire du projet, mais le comportement est le même même s'il est exécuté depuis l'extérieur du répertoire.
** Motif le plus simple **
Structure du répertoire
project_test1/
hoge.py
hoge.py
import vebootstrap
print("Hello vebootstrap")
Exécution de la commande
$ cd project_test1
$ python hoge.py
Si vous mettez ʻimport vebootstrap au début du script principal
hoge.pyet que vous le lancez, il sera appelé
.py ## (
##est la version python) dans le répertoire
project_test1au premier démarrage. Créez un répertoire pour l'environnement virtualenv. Après cela, exécutez
hoge.py avec l'environnement virtualenv actif, puis activez et exécutez le
.py ## ʻexistant au deuxième démarrage et aux suivants.
** S'il y a des packages dépendants **
Structure du répertoire
project_test2/
hoge.py
requirements.txt
hoge.py
import vebootstrap
import requests
print(requests.get('http://yahoo.co.jp').text[:100])
requirements.txt
requests
Exécution de la commande
$ cd project_test2
$ python hoge.py
La même chose est vraie pour créer un répertoire pour l'environnement virtualenv la première fois que hoge.py
est démarré, puis utiliser requirements.txt
pour pip installer
les packages dépendants. Activez ensuite l'environnement virtualenv et exécutez hoge.py
. Si vous réécrivez requirements.txt
, recréez l'environnement virtualenv au prochain démarrage. (Comme il peut être difficile de désinstaller des packages individuels, nous avons fait de telles spécifications)
** (Windows uniquement) Si vous souhaitez installer un package binaire pour Windows **
Il est assez difficile pour les utilisateurs de Windows d'installer des packages qui nécessitent leur propre build, tels que «numpy» et «lxml». Vous devrez trouver un package pré-construit et l'installer manuellement en utilisant autre chose que pip (PyPI), mais vebootstrap rend cela facile.
Plus précisément, j'essaie de trouver le package cible sur le site suivant et de l'installer. http://www.lfd.uci.edu/~gohlke/pythonlibs/
Structure du répertoire
project_test3/
hoge.py
requirements.txt
hoge.py
import vebootstrap
import numpy
print(dir(numpy))
requirements.txt
#windows:numpy
Exécution de la commande
$ cd project_test3
$ python hoge.py
L'utilisation est presque la même qu'avant, mais la description de requirements.txt
est un peu spéciale. S'il y a une ligne de la forme # windows: hogehoge
, vebootstrap recherchera le package hogehoge
du site précédent. Pour pip, les lignes commençant par #
sont traitées comme des commentaires, donc cela n'est interprété que par vebootstrap.
Vous pouvez également installer les packages installés par pip standard et les binaires pour Windows comme indiqué ci-dessous.
requirements.txt
requests
#windows:numpy
beautifulsoup4
Je ne sais pas quel paquet vous devez installer pré-construit de cette manière spéciale! Si c'est le cas, vous devez d'abord écrire hogehoge
et requirements.txt
comme d'habitude, et si vous obtenez une erreur peu claire, écrivez # windows: hogehoge
.
** Si vous ne souhaitez pas inclure d'instructions d'importation non pertinentes **
ʻImport vebootstrap` est la magie minimale pour activer l'environnement virtualenv simplement en exécutant python, mais cela peut ne pas être nécessaire si vous écrivez un script à exposer au monde extérieur. Dans ce cas, utilisez la fonction pour exécuter le module en tant que script comme indiqué ci-dessous. Il se comporte de la même manière que lorsqu'une instruction d'importation est insérée.
Structure du répertoire
project_test4/
hoge.py
requirements.txt
hoge.py
import requests
print(requests.get('http://yahoo.co.jp').text[:100])
requirements.txt
requests
Exécution de la commande
$ cd project_test4
$ python -m vebootstrap hoge.py
** S'il est compliqué d'écrire des packages dépendants pour la plupart des projets à chaque fois **
Si vous êtes un créateur de projet fréquent et que vous écrivez un requirements.txt
similaire à chaque fois, essayez d'utiliser les fonctionnalités suivantes.
Utiliser vebootstrap ne serait-ce qu'une seule fois crée un fichier de configuration appelé .vebootstrap
dans votre répertoire personnel (cd% USERPROFILE%
pour les utilisateurs Windows).
$HOME/.vebootstrap
{
"default_packages": [
"ipython"
],
"default_windows_packages": []
}
Ce fichier spécifie les packages qui doivent être installés dans tous les projets quel que soit le contenu de requirements.txt
. Par défaut, le package ʻipythonest installé pour que le REPL de l'environnement virtualenv correspondant puisse être utilisé immédiatement. Ajoutez d'autres packages si nécessaire. Pour les binaires Windows, ajoutez-les à
default_windows_packages sous la forme
" numpy "ʻ et ils seront installés automatiquement.
Exemple lors de l'ajout de
$HOME/.vebootstrap
{
"default_packages": [
"ipython",
"requests"
],
"default_windows_packages": [
"numpy"
]
}
Notez que l'environnement virtualenv est créé pour chaque version de python que vous exécutez. Lorsque vous tapez la commande suivante, par exemple, si la version de python
est 2.7.x, créez un environnement virtualenv avec le nom .py27
(le fichier exécutable python copié à l'intérieur est 2.7.x. Des choses).
$ python hoge.py
Si vous exécutez la commande suivante dans le même répertoire, un environnement virtualenv nommé .py35
sera créé. (Lorsque la version de python3
est 3.5.x)
$ python3 hoge.py
Étant donné que mon environnement principal est Windows, il peut être difficile pour les principaux utilisateurs de Linux de l'utiliser. Veuillez préciser si vous dites "il ne peut pas être utilisé dans de tels cas".
Et bien que le nom du paquet vebootstrap
soit un peu long (et un peu difficile à taper) personnellement, les deux ve
et veb
ont déjà été pris ...