Le but est de faire des calculs GPU avec PyCUDA et Theano. Je ne devrais en aucun cas développer Python 64 bits sur Windows, mais j'ai essayé de créer un environnement de développement sur mon ordinateur portable. Vous serez plus heureux si vous achetez un ancien ordinateur portable équipé d'une carte graphique GeForce et installez Ubuntu. Je travaille principalement en me référant aux sites suivants.
Il existe différentes manières d'utiliser GCC sous Windows, mais cette fois j'ai choisi les combinaisons suivantes.
Python 2.7
De Python 2.7 Release à python-2.7.amd64.msi Téléchargez et exécutez le programme d'installation pour python-2.7.amd64.msi). Ajoutez le dossier à la variable d'environnement PATH.
C:\Python27;C:\Python27\Scripts
De MinGW à [mingw-get-setup.exe](http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/ Téléchargez) et exécutez-le. Installez des dossiers séparément pour préparer les environnements GCC 32 bits et 64 bits.
c: \ MinGW \ 32
décochez une interface utilisateur graphiqueUne fois l'installation terminée, modifiez profile.xml pour modifier la structure des dossiers.
c\mingw\32\var\lib\mingw-get\data\profile.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<profile project="MinGW" application="mingw-get">
<repository uri="http://prdownloads.sourceforge.net/mingw/%F.xml.lzma?download"/>
<system-map id="default">
<sysroot subsystem="mingw32" path="%R" />
<sysroot subsystem="MSYS" path="%R/../msys" />
</system-map>
</profile>
Modifiez fstab et passez à l'environnement 32 bits.
\mingw\msys\etc\fstab
c:/mingw/32 /mingw
Utilisez la commande mingw-get pour installer les packages requis.
$ mingw-get install msys-core msys-base msys-vim msys-wget msys-patch msys-flex msys-bison msys-unzip
Installez l'environnement gcc 32 bits.
$ mingw-get install gcc g++ gfortran
Modifiez fstab et configurez-le pour qu'il utilise l'environnement 64 bits par défaut.
c\mingw\msys\etc\fstab
c:/mingw/64 /mingw
Créez un raccourci sur votre bureau pour lancer mysy.
c: \ mingw \ msys \ msys.bat
Changez l'icône.
c: \ mingw \ msys \ msys.ico
Depuis Page de téléchargement de TDM-GCC, tdm-gcc -4.9.2.exe est téléchargé.
c: \ mingw \ 64
Vérifiez la variable d'environnement système PATH et supprimez c: \ mingw \ 64 \ bin
si elle est incluse.
Double-cliquez sur msys.bat sur votre bureau pour voir la version de gcc.
$ gcc --version
gcc.exe (tdm64-1) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
TDM-GCC peut changer la cible en spécifiant l'option 32 bits et 64 bits. Modifiez c: \ mingw \ msys \ home \ masato \ .profile
dans le répertoire de base MSYS pour afficher l'environnement de construction lorsque MSYS démarre.
~/.profile
#!/bin/bash
# we use the reported architecture of the 'gcc' in our path to
# determine which Python and other utilities we will be using.
_arch=`gcc -dumpmachine`
#echo "ARCH=$_arch"
if grep "^x86_64-" <<< "$_arch" >/dev/null ; then
echo "MINGW 64 BIT BUILD ENVIRONMENT"
_pydir="/c/Python27"
else
echo "MINGW 32 BIT BUILD ENVIRONMENT"
_pydir="/c/Python27_32"
fi
export PATH=$PATH:$_pydir:$_pydir/Scripts
# note that mingw-get will still install all its stuff to c:\mingw\32,
# because of the contents of its profile.xml file.
alias mingw-get="/c/mingw/32/bin/mingw-get"
Fortran
Je l'ai installé car il semble nécessaire à la construction de SciPy. En fait, j'ai décidé d'utiliser un programme d'installation personnalisé, donc ce n'est peut-être pas nécessaire. Fortran n'est pas installé par défaut dans TDM-GCC.
Téléchargez tdm-gcc-webdl.exe. Appuyez sur le bouton Gérer
pour modifier la configuration de l'environnement installé.
c: \ mingw \ 64
SCons
Installez l'outil de construction pour SCons. Lancez mysy.bat créé sur votre bureau.
$ cd ~
$ wget http://prdownloads.sourceforge.net/scons/scons-2.3.4.tar.gz
$ tar zxf scons-2.3.4.tar.gz
$ cd scons-2.3.4
$ python setup.py bdist_wininst
Lancez le programme d'installation de l'interface graphique.
$ start dist/scons-2.3.4.win-amd64.exe
Copiez-le dans le dossier Scripts.
$ cp /c/Python27/Scripts/scons.py /c/Python27/Scripts/scons
Vérifiez la version.
$ scons --version
SCons by Steven Knight et al.:
script: v2.3.4, 2014/09/27 12:51:43, by garyo on lubuntu
engine: v2.3.4, 2014/09/27 12:51:43, by garyo on lubuntu
engine path: ['c:\\Python27\\Lib\\site-packages\\scons-2.3.4\\SCons']
Copyright (c) 2001 - 2014 The SCons Foundation
Dependency Walker
Installez Dependency Walker. Dependency Walker peut inspecter les dépendances des modules Windows. Téléchargez le zip et décompressez-le dans / c / mingw / 64 / bin
.
$ wget http://www.dependencywalker.com/depends22_x64.zip
$ unzip depends22_x64.zip -d /c/mingw/64/bin
Archive: depends22_x64.zip
inflating: /c/mingw/64/bin/depends.chm
inflating: /c/mingw/64/bin/depends.dll
inflating: /c/mingw/64/bin/depends.exe
SWIG
SWIG est un outil pour appeler des bibliothèques C / C ++ à partir de différents langages. Téléchargez le zip et installez-le dans / c / mingw / msys / opt
.
$ wget http://prdownloads.sourceforge.net/swig/swigwin-3.0.5.zip
$ mkdir -p /c/mingw/msys/opt
$ unzip swigwin-3.0.5.zip -d /c/mingw/msys/opt
Modifiez ~ / .profile
et ajoutez-le à votre PATH.
~/.profile
export PATH=$PATH:/opt/swigwin-3.0.5
Redémarrez msys.bat pour vérifier la version.
$ swig -version
SWIG Version 3.0.5
Compiled with i586-mingw32msvc-g++ [i586-pc-mingw32msvc]
Configured options: +pcre
Please see http://www.swig.org for reporting bugs and further information
GTK+
Installez la boîte à outils GUI pour GTK +. Téléchargez et exécutez le programme d'installation.
$ wget http://sourceforge.net/projects/ascend-sim/files/thirdparty/gtk%2B-2.22.1-20101229-x64-a4.exe/download
$ start gtk+-2.22.1-20101229-x64-a4.exe
Modifiez ~ / .profile
et ajoutez-le à votre PATH.
~/.profile
export PATH=$PATH:/c/Program\ Files/GTK+-2.22/bin/
Redémarrez msys.bat et vérifiez l'installation. L'exécution de gtk -domo lancera l'interface graphique.
$ gtk-demo
Subversion
Subversion va de SlikSVN à Slik-Subversion-1.8.11-x64.msi .11-x64.msi) Téléchargez et installez.
Modifiez ~ / .profile
et ajoutez-le à votre PATH.
~/.profile
export PATH=$PATH:/c/Program\ Files/SlikSvn/bin
Redémarrez msys.bat et vérifiez la version.
$ svn --version
svn, version 1.8.11-SlikSvn-1.8.11-X64 (SlikSvn/1.8.11) X64
compiled Dec 9 2014, 13:44:31 on x86_64-microsoft-windows6.2.9200
Copyright (C) 2014 The Apache Software Foundation.
Effectuez les préparatifs nécessaires lors de la création d'extensions Python dans un environnement 64 bits. Puisque python27.lib ne fonctionne pas avec MinGW-w64, reconstruisez-le en utilisant gendef.
$ svn co svn://svn.code.sf.net/p/mingw-w64/code/trunk/mingw-w64-tools/gendef -r5774 ~/gendef
$ cd ~/gendef
$ ./configure --prefix=/mingw
$ make -j4 && make install
$ cd
$ gendef --help
Usage: gendef [OPTION]... [DLL]...
Dumps DLL exports information from PE32/PE32+ executables
...
Ouvrez l'Explorateur et copiez python27.dll.
c: \ windows \ system32 \ python27.dll
c: \ Python27 \ libs \ python27.dll
Reportez-vous à Création d'un environnement de développement 64 bits avec MinGW sous Windows Construisez python27.lib. Lancez le raccourci mysy.bat sur votre bureau.
$ cd /c/Python27/libs
$ mv python27.lib old_python27.lib
$ gendef python27.dll
* [python27.dll] Found PE+ image
$ dlltool --dllname python27.dll --def python27.def --output-lib python27.lib
Ouvrez c: \ Python27 \ include \ pyconfig.h
et coupez les 3 lignes suivantes de la 141e ligne.
c\Python27\include\pyconfig.h
#ifdef _WIN64
#define MS_WIN64
#endif
Collez les 3 lignes de coupe au-dessus de #ifdef _MSC_VER
à la ligne 107.
c\Python27\include\pyconfig.h
#ifdef _WIN64
#define MS_WIN64
#endif
#ifdef _MSC_VER
~/.profile
Enfin, placez le ~ / .profile
suivant dans le répertoire de base MSYS ( c: \ mingw \ msys \ home \ masato
).
~/.profile
#!/bin/bash
# we use the reported architecture of the 'gcc' in our path to
# determine which Python and other utilities we will be using.
_arch=`gcc -dumpmachine`
#echo "ARCH=$_arch"
if grep "^x86_64-" <<< "$_arch" >/dev/null ; then
echo "MINGW 64 BIT BUILD ENVIRONMENT"
_pydir="/c/Python27"
export PATH=$PATH:/c/Program\ Files/GTK+-2.22/bin/
else
echo "MINGW 32 BIT BUILD ENVIRONMENT"
_pydir="/c/Python27_32"
export PATH=$PATH:/c/Program\ Files\ \(x86\)/GTK+-2.22/bin/
fi
export PATH=$PATH:$_pydir:$_pydir/Scripts
# note that mingw-get will still install all its stuff to c:\mingw\32 and c:\min
gw\msys.
# because of the contents of its profile.xml file. it is not affected by the con
tent of /etc/fstab.
alias mingw-get="/c/mingw/32/bin/mingw-get"
export PATH=$PATH:/opt/swigwin-3.0.5
export PATH=$PATH:/c/Program\ Files/SlikSvn/bin