Der Zweck besteht darin, GPU-Berechnungen mit PyCUDA und Theano durchzuführen. Ich sollte auf keinen Fall 64-Bit-Python unter Windows entwickeln, aber ich habe versucht, eine Entwicklungsumgebung auf meinem Notebook-PC zu erstellen. Sie werden glücklicher sein, wenn Sie einen gebrauchten, alten Laptop mit GeForce-Grafikkarte kaufen und Ubuntu installieren. Ich arbeite hauptsächlich mit Bezug auf die folgenden Seiten.
Es gibt verschiedene Möglichkeiten, GCC unter Windows zu verwenden, aber dieses Mal habe ich die folgenden Kombinationen ausgewählt.
Python 2.7
Von Python 2.7 Release bis python-2.7.amd64.msi Laden Sie das Installationsprogramm für python-2.7.amd64.msi herunter und führen Sie es aus. Fügen Sie den Ordner der Umgebungsvariablen PATH hinzu.
C:\Python27;C:\Python27\Scripts
Von MinGW [mingw-get-setup.exe](http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/ Laden Sie das Installationsprogramm herunter und führen Sie es aus. Installieren Sie separate Ordner, um 32-Bit- und 64-Bit-GCC-Umgebungen vorzubereiten.
c: \ MinGW \ 32
Deaktivieren Sie eine grafische BenutzeroberflächeBearbeiten Sie nach Abschluss der Installation die Datei profile.xml, um die Ordnerstruktur zu ändern.
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>
Bearbeiten Sie fstab und wechseln Sie in die 32-Bit-Umgebung.
\mingw\msys\etc\fstab
c:/mingw/32 /mingw
Verwenden Sie den Befehl mingw-get, um die erforderlichen Pakete zu installieren.
$ mingw-get install msys-core msys-base msys-vim msys-wget msys-patch msys-flex msys-bison msys-unzip
Installieren Sie die 32-Bit-gcc-Umgebung.
$ mingw-get install gcc g++ gfortran
Bearbeiten Sie fstab und stellen Sie ein, dass standardmäßig die 64-Bit-Umgebung verwendet wird.
c\mingw\msys\etc\fstab
c:/mingw/64 /mingw
Erstellen Sie eine Verknüpfung auf Ihrem Desktop, um mysy zu starten.
c: \ mingw \ msys \ msys.bat
Ändern Sie das Symbol.
c: \ mingw \ msys \ msys.ico
Von Download-Seite von TDM-GCC, [tdm-gcc] von TDM64 MinGW-w64 Edition -4.9.2.exe](http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/tdm-gcc-4.9.2.exe/download) wird heruntergeladen.
c: \ mingw \ 64
Überprüfen Sie die Systemumgebungsvariable PATH und löschen Sie "c: \ mingw \ 64 \ bin", falls enthalten.
Doppelklicken Sie auf Ihrem Desktop auf msys.bat, um die Version von gcc anzuzeigen.
$ 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 kann das Ziel ändern, indem die Option 32-Bit und 64-Bit angegeben wird. Bearbeiten Sie c: \ mingw \ msys \ home \ masato \ .profile
im MSYS-Home-Verzeichnis, um die Build-Umgebung beim Start von MSYS anzuzeigen.
~/.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
Ich habe es installiert, weil es für die Erstellung von SciPy notwendig zu sein scheint. Eigentlich habe ich mich für ein benutzerdefiniertes Installationsprogramm entschieden, daher ist dies möglicherweise nicht erforderlich. Fortran ist in TDM-GCC nicht standardmäßig installiert.
Laden Sie [tdm-gcc-webdl.exe] herunter (http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/tdm-gcc-webdl.exe/download). Klicken Sie auf die Schaltfläche "Verwalten", um die Konfiguration der installierten Umgebung zu ändern.
c: \ mingw \ 64
SCons
Installieren Sie das Build-Tool für SCons. Starten Sie mysy.bat, das auf Ihrem Desktop erstellt wurde.
$ 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
Starten Sie das GUI-Installationsprogramm.
$ start dist/scons-2.3.4.win-amd64.exe
Kopieren Sie es in den Ordner "Skripte".
$ cp /c/Python27/Scripts/scons.py /c/Python27/Scripts/scons
Überprüfe die 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
Installieren Sie Dependency Walker. Abhängigkeit Walker kann Windows-Modulabhängigkeiten überprüfen. Laden Sie die Zip-Datei herunter und entpacken Sie sie in / 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 ist ein Tool zum Aufrufen von C / C ++ - Bibliotheken aus verschiedenen Sprachen. Laden Sie die Zip-Datei herunter und installieren Sie sie in / 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
Bearbeiten Sie ~ / .profile
und fügen Sie es Ihrem PFAD hinzu.
~/.profile
export PATH=$PATH:/opt/swigwin-3.0.5
Starten Sie msys.bat neu, um die Version zu überprüfen.
$ 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+
Installieren Sie das GUI-Toolkit für GTK +. Laden Sie das Installationsprogramm herunter und führen Sie es aus.
$ 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
Bearbeiten Sie ~ / .profile
und fügen Sie es Ihrem PFAD hinzu.
~/.profile
export PATH=$PATH:/c/Program\ Files/GTK+-2.22/bin/
Starten Sie msys.bat neu und überprüfen Sie die Installation. Wenn Sie gtk -domo ausführen, wird die GUI gestartet.
$ gtk-demo
Subversion
Die Subversion erfolgt von SlikSVN zu Slik-Subversion-1.8.11-x64.msi. .11-x64.msi) Herunterladen und installieren.
Bearbeiten Sie ~ / .profile
und fügen Sie es Ihrem PFAD hinzu.
~/.profile
export PATH=$PATH:/c/Program\ Files/SlikSvn/bin
Starten Sie msys.bat neu und überprüfen Sie die 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.
Treffen Sie die erforderlichen Vorbereitungen, wenn Sie Python-Erweiterungen in einer 64-Bit-Umgebung erstellen. Da python27.lib nicht mit MinGW-w64 funktioniert, erstellen Sie es mit [gendef] neu (http://sourceforge.net/p/mingw-w64/wiki2/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
...
Öffnen Sie den Explorer und kopieren Sie python27.dll.
c: \ windows \ system32 \ python27.dll
c: \ Python27 \ libs \ python27.dll
Siehe Erstellen einer 64-Bit-Entwicklungsumgebung mit MinGW unter Windows Erstellen Sie python27.lib. Starten Sie die Verknüpfung mysy.bat auf Ihrem Desktop.
$ 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
Öffnen Sie c: \ Python27 \ include \ pyconfig.h
und schneiden Sie die folgenden 3 Zeilen aus der 141. Zeile aus.
c\Python27\include\pyconfig.h
#ifdef _WIN64
#define MS_WIN64
#endif
Fügen Sie die 3 Schnittlinien über dem "#ifdef _MSC_VER" in Zeile 107 ein.
c\Python27\include\pyconfig.h
#ifdef _WIN64
#define MS_WIN64
#endif
#ifdef _MSC_VER
~/.profile
Legen Sie abschließend das folgende ~ / .profile
im MSYS-Ausgangsverzeichnis ab ( 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