A vous qui développez Python sous Windows & Proxy

La première chose à dire est que si vous avez un Mac ou Linux, Python devrait être développé avec eux.

Python sur Windows peut être assez compliqué. Cependant, pour ceux qui n'ont d'autre choix que d'utiliser mon PC ou Windows, voici quelques points à garder à l'esprit lors de l'exécution de Python sous Windows ou d'un proxy qui provoque également une pierre d'achoppement.

Installation de Python

N'hésitez pas à le faire depuis la page de téléchargement ... mais je recommande plutôt de télécharger à partir d'ici.

Miniconda

Miniconda est une version allégée de Anaconda, qui est une collection de bibliothèques de traitement mathématique en Python.

La principale raison d'inclure Miniconda au lieu du Python original est la commande conda. Pip, un outil d'installation de paquets en Python, prend la forme de déposer la source et de la compiler dans son propre environnement. Cependant, avec cette méthode, un environnement de compilation en langage C tel que gcc (parfois même Fortran) est nécessaire du côté client, et Windows n'est pas installé en standard sur Linux et Mac, donc j'obtiens une erreur et je pleure. Vous finirez par le voir.

conda supprimera le binaire compilé afin que vous puissiez être libéré de cette erreur. Donc, si vous souhaitez le faire sous Windows, nous vous recommandons d'installer Miniconda. L'insertion de conda ne signifie pas que virtualenv ne peut pas être utilisé, vous pouvez donc l'utiliser correctement si nécessaire.

La procédure de création d'un environnement virtuel lors de l'utilisation de conda est la suivante.

#L'environnement virtuel de conda`<miniconda home>/envs`Créé en(Si aucun chemin n'est spécifié)
#Notez que si vous n'incluez pas pip lors de la création de l'environnement virtuel, pip sera installé globalement même si l'environnement virtuel est activé.
conda -n myenv numpy scipy pip 
activate myenv 
conda install <package>
pip install <package>

Pour utiliser virtualenv comme d'habitude, procédez comme suit.

#Si virtualenv n'est pas installé, installez-le avec pip install.
virtualenv venv

#Si vous utilisez le shell Git, source venv/Scripts/Peut être activé
venv/Scripts/activate.bat
pip install <package>

Lorsque vous utilisez virtualenv, vous combattrez de front l'erreur de compilation comme décrit ci-dessus. La stratégie de base à ce stade est de vérifier d'abord les binaires Windows non officiels pour les packages d'extension Python lorsqu'une erreur se produit dans pip, puis de vérifier l'exe. C'est une tactique d'utilisation. Les exes listés ici peuvent être installés avec ʻeasy_install`, et si l'environnement virtuel est activé, il n'entrera que correctement dans l'environnement virtuel.

Installez easy_install

Téléchargez ʻez_setup.py` depuis ici et effectuez le travail d'installation.

Si cela ne fonctionne pas, voyez ci-dessous.

Considérations relatives au proxy

Assurez-vous que le PowerShell utilisé pour télécharger le fichier prend en compte le proxy. Méthode présentée ici

Exécuter dans le shell Git

Puisque certaines commandes Linux peuvent être utilisées dans le shell Git, commentez le jugement de l'environnement Windows et exécutez ʻez_setup.py`. Je pense que cela fonctionnera mieux à l'avenir, donc je pense que c'est une bonne idée d'avoir "installer Git et taper les commandes à partir du shell Git" comme mesure.

Modifiez comme suit (toujours défini sur False).

def has_powershell():
	"""
    if platform.system() != 'Windows':
        return False
    cmd = ['powershell', '-Command', 'echo test']
    devnull = open(os.path.devnull, 'wb')
    try:
        try:
            subprocess.check_call(cmd, stdout=devnull, stderr=devnull)
        except Exception:
            return False
    finally:
        devnull.close()
    return True
	"""
	return False

Je pense que l'un ou l'autre passera.

Installation de l'environnement de développement

Pour Eclipse en standard, téléchargez Eclipse et installez PyDev pour Python. Pour IDEA, PyCharm est disponible. Cependant, dans le cas de la version communautaire, il n'y a pas de fonction de liaison AppEngine, alors soyez prudent (cela n'a pas l'impression d'être là, vous pouvez donc utiliser l'environnement que vous aimez ou que vous avez déjà). Cependant, vous finirez probablement par installer Visual Studio pour compiler Visual C ++ à un moment donné, vous pouvez donc même utiliser Visual Studio depuis le début. Il semble que le compilateur du côté de Visual Studio soit utilisé lors de la compilation de la source du package, et peut-être qu'il est possible de mettre une bibliothèque de compilation telle que numpy sans installer MinGW (au moins numpy est inclus ... mais j'ai déjà MinGW et Je ne suis pas sûr car j'avais un msys solide installé). La complémentation est également assez excellente, donc si vous devez le faire sous Windows, je pense qu'il est possible de rouvrir et de continuer.

C'est une bonne idée de vérifier les directives de style de codage Python (PEP8) pendant le développement. Pour Paramètres Eclipse> PyDev> CodeAnalysis> pep8.py, pour Visual Studio Il sera formaté dans Edition> Format du document au lieu de vérifier. Les paramètres tels que les espaces peuvent être définis dans Outils> Options> Éditeur de texte> Python. Le format est arbitraire, donc la force est lâche. Dans le cas d'IDEA, il est inclus par défaut, et le chèque est également soigné.

Préparation du compilateur C

Si ni conda ni Unofficial n'est pris en charge, vous devrez le compiler vous-même.

Tout d'abord, préparez un compilateur (MinGW). Le programme d'installation est de ici, mais ce programme d'installation est une méthode pour obtenir des fichiers sur le Web, et il sera NG s'il est sous le proxy d'authentification (à partir de 2014) ...).

Par conséquent, téléchargez et extrayez tous les fichiers dans Files To Get sur ici. binutils obtient bin, gcc-core obtient à la fois bin et dll, sinon dll. Puisqu'il est compressé deux fois en tar.lzma, un environnement est créé en décompressant tous les fichiers deux fois et en intégrant les fichiers décompressés. Étonnamment incroyable, c'est la réalité.

Après cela, vous pouvez transmettre le chemin de la variable d'environnement au dossier développé (MinGW, etc.).

Lors de la spécification du compilateur à utiliser dans l'environnement virtuel, par exemple, si le dossier créé par virtualenv est venv, il est possible en éditant le fichier distutils.cfg dans venv / Lib / distutils.

distutils.cfg


[build]
compiler=mingw32

Préparation du compilateur VC ++

Que faire si vous rencontrez une soi-disant erreur «erreur: impossible de trouver l'erreur vcvarsall.bat». Ceci, en bref, indique qu'il n'y a pas de compilateur VC ++. Il est habituel d'installer le SDK Windows ou Visual Studio pour configurer l'environnement, mais il semble que cela se soit produit récemment, il est donc possible de faire cela seul.

Microsoft Visual C++ Compiler for Python 2.7 (Pourquoi pas pour Python3 ??)

Il est courant d'avoir la même version compilée de Python (voir ici), mais il est préférable d'installer la dernière version. Je pense que c'est bon (également pour la sécurité).

Sélectionnez «Windows Desktop» pour installer Visual Studio Express. Sachez que l'installation d'autres versions sera un problème deux fois. Cependant, à l'avenir, il sera intégré à la communauté Visual Studio, donc je pense qu'il ne sera pas nécessaire de le sélectionner. L'installation est lourde et me fait rire (à partir de 2014), mais c'est un assez bon environnement de développement, alors mettons-le ici. Il existe un moyen de le faire avec le SDK Windows, mais c'est assez ennuyeux. Si cela prend le même temps, il est plus facile d'attendre l'installation. De plus, comme il est possible qu'il y ait une différence de version entre le compilateur VC ++ utilisé lors de la compilation de Python et la dernière version, ici % 81% A7-error-can't-find-vcvarsall-bat-% E3% 81% 8C% E5% 87% BA% E3% 81% 9F% E5% A0% B4% E5% 90% 88% E3% Définissez le registre en vous référant à 80% 82 /).

Autres conseils

À propos de Pit

En Python (mais pas limité à python), vous pouvez utiliser Pit pour gérer les informations que vous ne souhaitez pas valider, telles que les mots de passe. Pour utiliser ce Pit, il est nécessaire de définir le chemin d'accès au fichier exécutable de l'éditeur dans la variable d'environnement EDITOR, alors définissez-le.

Même si l'éditeur est défini, il peut continuer à dire No Changes. Dans ce cas, éditez directement default.yaml dans le dossier .pit qui peut être directement sous C: \ Users \ user name. À titre d'exemple, cela ressemble à ce qui suit.

"web-site-password":
  "username": 'xxxxx'
  "password": 'xxxxx'

C'est acceptable.

Lorsque vous utilisez App Engine

Il n'y a fondamentalement aucun problème avec Windows, mais lors de l'utilisation d'un proxy, il se présente comme suit. C'est le même modèle sur Mac.

Traceback (most recent call last):
  File "C:\environment\Google\google_appengine\lib\webapp2-2.5.1\webapp2.py", line 1547, in __call__
    return response(environ, start_response)
・ ・ ・

Pour éviter cela, il est nécessaire de configurer AppEngine pour ne pas démarrer le proxy. Plus précisément, commentez ʻopener.add_handler (fancy_urllib.FancyProxyHandler ()) dans ... \ Google \ google_appengine \ google \ appengine \ tools`.

appengine_rpc.py


    opener = urllib2.OpenerDirector()
    # opener.add_handler(fancy_urllib.FancyProxyHandler())
    opener.add_handler(urllib2.UnknownHandler())

Cependant, notez que si vous faites cela, vous ne pourrez pas accéder à l'API externe. De plus, lors du déploiement, cela gêne, donc lorsque vous utilisez ʻappcfg.py`, vous devez annuler ce commentaire.

Pour plus de détails, consultez ici. Je souffre depuis deux jours, donc je suis en enfer.

Recommended Posts

A vous qui développez Python sous Windows & Proxy
Comment installer Python [Windows]
Construire un environnement Python sous un environnement Windows 7
Comment développer en Python
Ravi de vous rencontrer avec python
python memo pip sous proxy, easy_install
docker et PyCharm sous proxy dans Windows
[Kivy] Comment installer Kivy sur Windows [Python]
Mettez MicroPython sur Windows pour exécuter ESP32 sur Python
[Python] Mémo pour traduire Matplotlib en japonais [Windows]
Développer des applications Windows avec Python 3 + Tkinter (fichier exe)
Étapes pour développer une application Web en Python
Comment utiliser pip3 sous un environnement proxy Remarque
[Python] Comment installer OpenCV sur Anaconda [Windows]
Mis à jour vers Python 2.7.9
Que faire si le Microsoft Store s'ouvre même si vous exécutez python sous Windows
Python sur Windows
environnement windows python
Installation de Python (Windows)
"Backport" vers python 2
Comment intégrer mod_wsgi dans Apache sur Windows Python
(Python) Essayez de développer une application Web en utilisant Django
Présentation de WSL (Ubuntu 18.04) à WIndows10 ~ Deuxième partie de l'environnement proxy ~
Notes de site pour vous aider à utiliser NetworkX avec Python
Utilisez AWS SDK for Python (boto) dans un environnement Proxy
Conseils à consulter avant de commencer à écrire Python
Pour ceux qui ne peuvent pas installer Python sur Windows XP
Feuille de route d'apprentissage qui vous permet de développer et de publier des services à partir de zéro avec Python