Erstellen Sie die Python-Erweiterung E-Cell 4 unter Windows 7 (64 Bit).

** Die folgenden Informationen sind veraltet. Die neuesten Informationen finden Sie unter hier. ** ** **

Vorbereitung

E-Cell4 wird durch Auschecken des Win32-Zweigs verwendet. Installieren und verwenden Sie Git bei Bedarf selbst: https://github.com/ecell/ecell4

Für den Build wurde Folgendes verwendet:

Bei Verwendung von Python3

Wie zu bauen

  1. Installieren Sie Python und Visual C ++ normal.

  2. Entpacken Sie GSL, stdint, Boost an einen geeigneten Ort.

  3. Extrahieren Sie hdf5-1.8.14-win32-vs2012-shared.zip und führen Sie HDF5-1.8.14-win32.exe zur Installation aus. Es ist optional, ob der Installationsort und der Installationspfad übergeben werden sollen oder nicht.

  4. C: \ Pfad \ zu \ ecell4 \ ecell4 \ core \ config.h.win32 heißt C: \ Pfad \ zu \ ecell4 \ ecell4 \ core \ config.h Speichern unter. Oder erstellen Sie config.h unter C: \ Pfad \ zu \ ecell4 \ ecell4 \ Kern mit folgendem Inhalt:

#ifndef __ECELL4_CONFIG_H #define __ECELL4_CONFIG_H #define HAVE_BOOST_UNORDERED_MAP_HPP 1 #define HAVE_BOOST_FUNCTIONAL_HASH_HPP 1 #endif /* __ECELL4_CONFIG_H */


 5. C: \\ Pfad \\ zu \\ ecell4 \\ ecell4 \\ egfrd \\ config.h.win32 heißt C: \\ Pfad \\ zu \\ ecell4 \\ ecell4 \\ egfrd \\ config.h Nach Namen speichern.

 6. Extrahieren Sie virtualenv-1.11.6.tar.gz, damit Python ausgeführt werden kann:

    ```
C:\path\to\virtualenv-1.11.6> python virtualenv.py C:\path\to\myenv

C: \ Pfad \ zu \ myenv kann überall sein, aber beachten Sie, dass es nicht funktioniert, wenn der Pfad Leerzeichen enthält (z. B. Ihren Benutzernamen).

  1. Gehen Sie zu C: \ Pfad \ zu \ myenv und installieren Sie Cython und Numeric Python wie folgt:

C:\path\to\myenv> Scripts\activate.bat (myenv) C:\path\to\myenv> pip install cython (myenv) C:\path\to\myenv> pip install numpy


 8. In einer virtuellen Umgebung:

 Anstatt make_sjy_table.py und make_cjy_table.py aufzurufen, die scipy verwenden, können Sie die separat erstellten Dateien SphericalBesselTable.hpp und CylindricalBesselTable.hpp abrufen und im Verzeichnis C: \ path \ to \ ecell4 \ ecell4 \ egfrd ablegen.

    ```
(myenv) C:\path\to\myenv> cd C:\path\to\ecell4\python
(myenv) C:\path\to\ecell4\python> python setup.py build_ext -IC:\path\to\boost_1_55_0;C:\path\to\gsl\include;C:\path\to\HDF5_Group\HDF\1.8.14\include;C:\path\to\stdint-20070624 -LC:\path\to\gsl\lib;C:\path\to\HDF5_Group\HDF\1.8.14\lib install
(myenv) C:\path\to\ecell4\python> python samples\simple.py

Radpaket

  1. Die Paketerstellung wird oben fortgesetzt:

(myenv) C:\path\to\ecell4\python> pip install wheel (myenv) C:\path\to\ecell4\python> python setup.py bdist_wheel


 Sie sollten jetzt eine WHL unter C: \\ Pfad \\ zu \\ ecell4 \\ Python \\ dist haben.

 2. Laden Sie Folgendes herunter und extrahieren Sie es

    https://www.dropbox.com/s/79jrmw1vtv61e6t/ecell4-0.0.0-cp27-none-win32-whl.zip

 3. Unter dem erweiterten Verzeichnis ecell4-0.0.0-cp27-none-win32-whl:

    ```
(myenv) C:\path\to\ecell4-0.0.0-cp27-none-win32-whl> pip install ecell4-0.0.0-cp27-none-win32.whl
  1. Da die DLL zur Laufzeit benötigt wird, installieren Sie die HDF5-Binärdatei wie oben beschrieben und übergeben Sie sie gegebenenfalls über den Pfad.

(myenv) C:\path\to\ecell4-0.0.0-cp27-none-win32-whl> set PATH=%PATH%;C:\path\to\HDF5_Group\HDF\1.8.13\bin

5.Versuchen Sie es unten.Hoffentlich testen.h5 sollte erstellt werden:

```

(myenv) C:\path\to\ecell4-0.0.0-cp27-none-win32-whl> python simple.py


6.IPython Notebook eingeführt,anfangen:

    ```
(myenv) C:\path\to\myenv> pip install ipython[notebook]
(myenv) C:\path\to\myenv> ipython notebook

#Punkte der Besorgnis

1.Muss ich beim Erstellen von HDF5 ein Paket erstellen?? ALL_Die DLL wurde nur durch das Erstellen von BUILD erstellt, aber es hat nicht funktioniert..Sie müssen NSIS installieren, um ein Paket zu erstellen,Sieht nutzlos aus.Nun, es ist gut, weil es leicht zu verteilen ist.

  1. hdf5_hl, hdf5_hl_Benötigen Sie cpp? ->nicht notwendig.

3.Warnung, die zum Zeitpunkt der Erstellung in großer Anzahl angezeigt wird.Es scheint hauptsächlich um implizite Typografie zu gehen.Ich möchte es eines Tages zerquetschen.

  1. <stdint.h>Über.Mendoi separat zu installieren.Ich weiß nicht was ich tun soll,das ist.

  2. config.h ist nicht gut genug.Boost ungeordnet_Karte ist nicht sehr gut implementiert, Visual C++Ich möchte mir eine Alternative für überlegen. ->Vielleicht, std::tr1 kann verwendet werden.

6.IPython wird mit pip verfügbar sein.IPython Notebook ist auch pyzmq, jinja2,Sie können dies tun, indem Sie Tornade von Pip installieren,Einige davon müssen möglicherweise gebaut werden.Ich hoffe, dass es mit Wheel gemacht werden kann, aber ich habe es nicht bestätigt.Anacondas IPython ist MinGW32, daher wird es wahrscheinlich nicht funktionieren.

#Über den eigenen Build von HDF5

Dinge notwendig:

1.HDF5 zu Visual C.++Bauen Sie Ihre eigenen im Jahr 2008.Entpacken Sie zuerst die Datei,Erstellen Sie als Nächstes ein weiteres Verzeichnis zum Erstellen.(hdf5-1.8.13-BUILD).

2.CMake 3 aus dem Startmenü etc..0.0>CMake (cmake-gui)Anfangen. "Where is the source code:"Zu C.:\path\to\hdf5-1.8.13, "Where to build the binaries"Zu C.:\path\to\hdf5-1.8.13-Geben Sie BUILD an.Klicken Sie unten auf die Schaltfläche Konfigurieren.Ein Dialog wird geöffnet, "Specify the generator for this project"Weil es gefragt wird, "Visual Studio 9 2008"damit"Use default native compilers"Wählen"Finish".

3.Eintrag wird automatisch angezeigt, aber davon, BUILD_SHARED_LIBS, HDF5_BUILD_CPP_LIB, HDF5_PACKAGE_Setzen Sie EXTLIBS auf True.Ansonsten können Sie es so lassen, wie es ist.danach,Klicken Sie auf die Schaltfläche Generieren.

  1. C:\path\to\hdf5-1.8.13-Gehen Sie zu BUILD, HDF5.sln zu Visual C.++2008 eröffnet.Im Dialog werden verschiedene Warnungen angezeigt, die Sie jedoch vorerst ignorieren.Die Lösungskonfiguration in der Mitte der oberen Symbolleiste"Debug"Wenn es geworden ist"Release"Ändern.

5.ALLES vom Explorer auf der linken Seite_Klicken Sie mit der rechten Maustaste auf BUILD,Bauen.nach,Klicken Sie mit der rechten Maustaste auf PAKET,Bauenする. C:\path\to\hdf5-1.8.13-Unter BUILD_CPack_Packages\win\NSIS\HDF5-1.8.13-win is done und hdf5 unter bin.OK, wenn DLL erstellt wird(hdf5_D.Wenn es sich um DLL usw. handelt, überprüfen Sie die obige Lösungskonfiguration).

#Über Patches

Weniger als,Alte Informationen.Sehen Sie nun den Unterschied zwischen Win32-Zweig und Master.

https://github.com/ecell/ecell4/compare/win32

(Alt)Über Patches.

https://gist.github.com/kaizu/00e480fb3285b1296485

1.Warum, gsl_pow_2, gsl_pow_3 fällt auf Link. gsl_pow_Kann mit int verwendet werden.Macht es keinen Sinn?.

2.Problem, dass typeof nicht verwendet werden kann. GetType,Ich kann typeid verwenden, bin mir aber nicht sicher.Wenn sich gsl nicht ändert, gibt es kein Problem, daher habe ich den Typ vorerst fest codiert.

  1. erf,erfc ist Mathe.Probleme nicht in h. boost/math/special_functions/erf.Verwenden Sie stattdessen hpp.Sollte es zu gsl vereinheitlicht werden??

4.cbrt ist Mathe.Probleme nicht in h.Stattdessen mit pow implementiert.Zumindest inline.

5.Rint ist Mathe.Probleme nicht in h.Es sieht so aus, als könnten Sie es selbst implementieren, boost/numeric/interval/detail/msvc_rounding_control.Es scheint, dass hpp diese Seite gut wechselt, also habe ich darauf hingewiesen.

  1. M_PI ist Mathe.Problem, das nicht verwendet werden kann, auch wenn h enthalten ist. _USE_MATH_DEFINES muss deklariert werden. types.hpp zu mathe.Ich versuche h einzuschließen.

7.Der Bibliotheksname von gslcblas ist unterschiedlich. gslcblas->cblas.

  1. __PRETTY_FUNCTION__Probleme, die nicht verwendet werden können.Es ist nur eine Fehlermeldung__FUNCTION__Benutz einfach.

9.Unnötiger Typname gelöscht.Es fühlt sich gut an, sich normal zu engagieren.Bestätigen Sie später.

10.Das Problem, dass vsnprintf nicht std ist.

  1. sqrt(3)Problem, das nicht besteht. sqrt(3.0)Sollte sein.Verschmelzen.

12.Regex für Windows.Problem ohne h.Boost-Regex erfordert Binärdateien. Vermeiden Sie daher Unix-Standard-Regex.Ich habe versucht, h zu verwenden,Da Windows in erster Linie nicht Unix ist, regex.nein h.Auf der anderen Seite Visual C.++Regex ist standardmäßig in implementiert,Die API scheint genau die gleiche zu sein wie die Boost-Regex(Oder eher std::tr1)Also habe ich gerade den Namespace etc. gelöst und vorerst bestanden.Die Ergebnisse müssen getestet werden.

  1. python/setup.Problem, bei dem der Name der DLL in py etwas anders war - gefixt.Compiler-Optionen"/w"Mit versteckten Warnungen, "/EHsc"Modelleinstellungen für die Ausnahmebehandlung in.Ersteres ist nicht wesentlich.

#Referenzlink

http://homepage2.nifty.com/nonnon/Chinamini/20110001/20110307.html

http://david.geldreich.free.fr/dev.html

http://www.kijineko.co.jp/node/63

http://msdn.microsoft.com/ja-jp/library/1deeycx5%28v=vs.90%29.aspx

http://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/COPYING

http://qiita.com/toruuetani/items/b0000e9f5c89a350d4f8

Recommended Posts

Erstellen Sie die Python-Erweiterung E-Cell 4 unter Windows 7 (64 Bit).
Erstellen Sie die Python-Erweiterung E-Cell 4 unter Mac OS X (Yosemite).
Build-Umgebung für Python 2.7, 3.4, 3.5-Erweiterungsmodule unter Windows
Erstellen Sie eine 64-Bit-Python 2.7-Umgebung mit TDM-GCC und MinGW-w64 unter Windows 7
Erstellen Sie einfach eine Python 3-Ausführungsumgebung unter Windows
Erstellen Sie eine Python-Umgebung unter Windows
Erstellen Sie eine Python-Umgebung mit Windows
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (3) GVim8.0 und Python3.6
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (1)
Vorgehensweise zum Erstellen einer CDK-Umgebung unter Windows (Python)
Installieren von Kivy unter Windows 10 64bit Python3.5
Python2.7-Installation in einer Windows 32-Bit-Umgebung
Installieren von Kivy-Designer unter Windows 10 64-Bit Python3.5
Erstellen Sie mlpy mit python3.3 (64bit) (Windows 64bit)
Erstellen Sie eine Python3-Umgebung unter CentOS7
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (2) Grundeinstellungen
Erstellen Sie Python3 für Windows 10 unter ARM mit Visual Studio 2019 (x86) unter Windows 10 unter ARM
Erstellen Sie unter CentOS 7.7 eine Python-Umgebung für Ihren Heimserver
Wettbewerb mit VS-Code Erstellen Sie eine Python-Umgebung für Profis unter Windows
Hinweise zur Verwendung von OpenCV mit Windows 10 Python 3.8.3.
Python unter Windows
Erstellen Sie eine Python-Umgebung unter MacOS (Catallina)
Erstellen Sie eine Python + OpenCV-Umgebung in Cloud9
Erstellen Sie eine Versionsverwaltungsumgebung für Python, Ruby, Perl, Node.js unter UNIX
Erstellen Sie schnell eine Python-Umgebung für Deep Learning / Data Science (Windows)
Ein Python-Skript für Mac, das unter Windows ohne verstümmelte Zeichen komprimiert wird
Janken Poi mit Python Lassen Sie uns für Anfänger auf einem lokalen Windows-Server laufen
Ein Tool zum Erstellen symbolischer Links unter Windows
Erstellen Sie eine Python-Umgebung mit ansible auf centos6
Erstellen Sie eine Python-Umgebung auf einem Mac (Mountain Lion)
Erstellen Sie eine Python-Entwicklungsumgebung auf Ihrem Mac
Ein Memorandum zum Berühren von Python Flask mit Heroku
Erstellen Sie eine Kubernetes-Umgebung für die Entwicklung unter Ubuntu
Installieren von TensorFlow unter Windows Easy für Python-Anfänger
Erstellen Sie eine Python-Entwicklungsumgebung auf Raspberry Pi
Schritte zum Erstellen von PyTorch 1.5 für CUDA 10.2 unter Windows
Python Basic ② in Windows
Installieren Sie Python unter Windows
Erstellen Sie TensorFlow unter Windows
Erstellen Sie XGBoost unter Windows
Build Python auf Ubuntu
Installieren Sie Python (für Windows)
Erstellen Sie eine lokale Entwicklungsumgebung mit WSL + Docker Desktop für Windows + Docker-Lambda + Python
# 2 Erstellen Sie eine Python-Umgebung mit einer EC2-Instanz von AWS (ubuntu18.04).
Erstellen Sie eine lokale Entwicklungsumgebung für Laravel6.X auf Ihrem Mac
[Heroku] Memo zum Bereitstellen von Python-Apps mit Heroku unter Windows [Python]
Erstellen Sie mit pyenv-virtualenv eine Python-Umgebung für jedes Verzeichnis
Bis zum Zeichnen eines 3D-Diagramms mit Python in Windows 10
Erstellen Sie eine komfortable Python 3 (Anaconda) -Entwicklungsumgebung mit Windows
Hinweise zur Installation von Chainer 1.5 für GPU unter Windows
So erstellen Sie eine Django (Python) -Umgebung auf Docker
Erstellen Sie eine Python-Entwicklungsumgebung unter Mac OS X.
PIL in Python unter Windows8 (für Google App Engine)
Erstellen Sie mit pyenv eine Python-Umgebung auf Ihrem Mac
Erstellen Sie eine Python-Entwicklungsumgebung mit pyenv unter MacOS
Erstellen Sie unter Windows eine anständige Shell- und Python-Umgebung
So erstellen Sie eine Python-Umgebung unter Amazon Linux 2
Windows10 (x64) Erstellen Sie nativ eine maschinelle Lernumgebung