Construire l'extension Python E-Cell 4 sur Windows 7 (64 bits)

** Les informations suivantes sont obsolètes. Veuillez consulter ici pour les dernières informations. ** **

Préparation

E-Cell4 est utilisé en vérifiant la branche win32. Si nécessaire, installez et utilisez Git vous-même: https://github.com/ecell/ecell4

Ce qui suit a été utilisé pour la construction:

Lors de l'utilisation de Python3

Comment construire

  1. Installez Python et Visual C ++ normalement.

  2. Décompressez GSL, stdint, Boost dans un emplacement approprié.

  3. Extrayez hdf5-1.8.14-win32-vs2012-shared.zip et exécutez HDF5-1.8.14-win32.exe pour l'installer. Il est facultatif de transmettre ou non l'emplacement et le chemin d'installation.

  4. C: \ chemin \ vers \ ecell4 \ ecell4 \ core \ config.h.win32 est appelé C: \ chemin \ vers \ ecell4 \ ecell4 \ core \ config.h Enregistrer sous. Ou créez config.h sous C: \ chemin \ vers \ ecell4 \ ecell4 \ core avec le contenu suivant:

#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: \\ chemin \\ vers \\ ecell4 \\ ecell4 \\ egfrd \\ config.h.win32 est appelé C: \\ chemin \\ vers \\ ecell4 \\ ecell4 \\ egfrd \\ config.h Enregistrez par nom.

 6. Extrayez virtualenv-1.11.6.tar.gz pour que Python puisse être exécuté:

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

C: \ chemin \ vers \ myenv peut être n'importe où, mais sachez que cela ne fonctionnera pas si le chemin contient des espaces (comme votre nom d'utilisateur).

  1. Accédez à C: \ chemin \ vers \ myenv et installez Cython et Numeric Python comme suit:

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


 8. Dans l'environnement virtualenv:

 Au lieu d'appeler make_sjy_table.py et make_cjy_table.py qui utilisent scipy, vous pouvez obtenir les SphericalBesselTable.hpp et CylindricalBesselTable.hpp créés séparément et les placer sous le répertoire C: \ path \ to \ ecell4 \ ecell4 \ egfrd.

    ```
(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

Paquet de roue

  1. La création du package se poursuit ci-dessus:

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


 Vous devriez maintenant avoir un WHL sous C: \\ chemin \\ vers \\ ecell4 \\ python \\ dist.

 2. Téléchargez et extrayez les éléments suivants

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

 3. Sous le répertoire étendu 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. La dll étant requise au moment de l'exécution, installez le binaire HDF5 comme décrit ci-dessus et passez-le par le chemin si nécessaire.

(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.Essayez de le faire ci-dessous.J'espère tester.h5 doit être créé:

```

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


6.Présentation du notebook IPython,commencer:

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

#Points de préoccupation

1.Dois-je créer un package lors de la création de HDF5?? ALL_La DLL a été créée simplement en construisant BUILD, mais cela n'a pas fonctionné..Vous devez installer NSIS pour créer un package,Ça a l'air inutile.Et bien c'est bien car c'est facile à redistribuer.

  1. hdf5_hl, hdf5_hl_Avez-vous besoin de cpp? ->inutile.

3.Avertissement qui apparaît en grand nombre au moment de la construction.Il semble qu'il s'agisse principalement de conversion de type implicite.Je veux l'écraser un jour.

  1. <stdint.h>sur.Mendoi à installer séparément.Je ne sais pas quoi faire,c'est.

  2. config.h n'est pas assez bon.Boost non ordonné_la carte n'est pas très bien mise en œuvre, Visual C++Je veux penser à une alternative pour. ->Peut-être, std::tr1 peut être utilisé.

6.IPython sera disponible avec pip.IPython Notebook est également pyzmq, jinja2,Vous pouvez le faire en installant tornade de pip,Certains d'entre eux peuvent devoir être construits.J'espère que cela peut être fait avec Wheel, mais je n'ai pas confirmé.L'IPython d'Anaconda est MinGW32, donc cela ne fonctionnera probablement pas.

#À propos de la propre version de HDF5

Les choses nécessaires:

1.HDF5 à Visual C++Construisez le vôtre en 2008.Décompressez d'abord le fichier,Ensuite, créez un autre répertoire pour la construction.(hdf5-1.8.13-BUILD).

2.CMake 3 depuis le menu de démarrage, etc..0.0>CMake (cmake-gui)Commencer. "Where is the source code:"Vers C:\path\to\hdf5-1.8.13, "Where to build the binaries"Vers C:\path\to\hdf5-1.8.13-Spécifiez BUILD.Appuyez sur le bouton Configurer ci-dessous.Une boîte de dialogue s'ouvre, "Specify the generator for this project"Parce qu'il est demandé, "Visual Studio 9 2008"alors"Use default native compilers"Sélectionner"Finish".

3.L'entrée est automatiquement affichée, mais à partir de, BUILD_SHARED_LIBS, HDF5_BUILD_CPP_LIB, HDF5_PACKAGE_Définissez EXTLIBS sur True.En dehors de cela, vous pouvez le laisser tel quel.ensuite,Appuyez sur le bouton Générer.

  1. C:\path\to\hdf5-1.8.13-Déplacer vers BUILD, HDF5.sln vers Visual C++Ouvert en 2008.Différents avertissements sont donnés dans la boîte de dialogue, mais ignorez-les pour le moment.La configuration de la solution au centre de la barre d'outils supérieure"Debug"Si c'est devenu"Release"Changer pour.

5.TOUT de l'explorateur à gauche_Faites un clic droit sur BUILD,Construire.après,Faites un clic droit sur PACKAGE,Construireする. C:\path\to\hdf5-1.8.13-Ci-dessous BUILD_CPack_Packages\win\NSIS\HDF5-1.8.13-gagner est fait et hdf5 sous bin.OK si dll est créé(hdf5_D.S'il s'agit d'une DLL, etc., vérifiez la configuration de la solution ci-dessus).

#À propos des correctifs

Moins que,Anciennes informations.Maintenant, voyez la différence entre la branche win32 et master.

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

(Vieux)À propos des correctifs.

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

1.Pourquoi, gsl_pow_2, gsl_pow_3 chutes sur le lien. gsl_pow_Peut être utilisé avec int.Ça n'a pas de sens.

2.Problème que typeof ne peut pas être utilisé. GetType,Je peux utiliser typeid, mais je ne suis pas sûr.S'il n'y a pas de changement dans gsl, il n'y a pas de problème, j'ai donc codé en dur le type pour le moment.

  1. erf,erfc c'est math.Problèmes pas en h. boost/math/special_functions/erf.Utilisez plutôt hpp.Doit-il être unifié à gsl??

4.cbrt est math.Problèmes pas en h.Mis en œuvre à la place avec pow.Au moins en ligne.

5.rint est math.Problèmes pas en h.Il semble que vous puissiez l'implémenter vous-même, boost/numeric/interval/detail/msvc_rounding_control.Il semble que hpp change bien de ce côté, alors je me suis référé à cela.

  1. M_PI est mathématique.Problème qui ne peut pas être utilisé même si h est inclus. _USE_MATH_Besoin de déclarer DEFINES. types.hpp aux maths.J'essaye d'inclure h.

7.Le nom de la bibliothèque de gslcblas est différent. gslcblas->cblas.

  1. __PRETTY_FUNCTION__Problèmes qui ne peuvent pas être utilisés.C'est juste un message d'erreur__FUNCTION__Juste utiliser.

9.Nom de type inutile supprimé.Ça fait du bien de s'engager normalement.Confirmer plus tard.

10.Le problème que vsnprintf n'est pas std.

  1. sqrt(3)Problème qui ne passe pas. sqrt(3.0)Devrait être.Fusionner.

12.Regex pour Windows.Problème sans h.Boost regex nécessite des binaires, évitez donc les regex standard Unix.J'ai essayé d'utiliser h,Puisque Windows n'est pas Unix en premier lieu, regex.non h.D'autre part, Visual C++Regex est implémenté en standard dans,L'API semble être exactement la même que Boost regex(Ou plutôt std::tr1)Donc j'ai juste résolu l'espace de noms etc. et passé pour le moment.Les résultats doivent être testés.

  1. python/setup.Correction du nom de la DLL étant légèrement différent dans py.Options du compilateur"/w"Avec masquage des avertissements, "/EHsc"Paramètres du modèle de gestion des exceptions dans.Le premier n'est pas essentiel.

#Lien de référence

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

Construire l'extension Python E-Cell 4 sur Windows 7 (64 bits)
Construire l'extension Python E-Cell 4 sur Mac OSX (Yosemite)
Environnement de création de module d'extension Python 2.7, 3.4, 3.5 sous Windows
Créez un environnement Python 2.7 64 bits avec TDM-GCC et MinGW-w64 sous Windows 7
Créez simplement un environnement d'exécution Python 3 sous Windows
Créer un environnement Python sur Windows
Construire un environnement Python avec Windows
Créer un environnement de développement Python basé sur GVim sur Windows 10 (3) GVim8.0 et Python3.6
Créer un environnement de développement Python basé sur GVim sur l'installation de Windows 10 (1)
Procédure de création d'un environnement CDK sous Windows (Python)
Installation de Kivy sur Windows10 64 bits Python3.5
installation de python2.7 dans un environnement Windows 32 bits
Installation de Kivy-Designer sur Windows10 64 bits Python3.5
Construire mlpy avec python3.3 (64 bits) (Windows 64 bits)
Créer un environnement python3 sur CentOS7
Créer un environnement de développement Python basé sur GVim sur les paramètres de base de Windows 10 (2)
Créer Python3 pour Windows 10 sur ARM avec Visual Studio 2019 (x86) sur Windows 10 sur ARM
Créez un environnement python sur CentOS 7.7 pour votre serveur domestique
Concurrence avec VS Code Créez un environnement Python pour les professionnels sous Windows
Remarques sur l'utilisation d'OpenCV avec Windows10 Python 3.8.3.
Python sur Windows
Construire un environnement python sur MacOS (Catallina)
Créer un environnement Python + OpenCV sur Cloud9
Créer un environnement de gestion de version pour Python, Ruby, Perl, Node.js sous UNIX
Créez rapidement un environnement python pour le Deep Learning / Data Science (Windows)
Un script python pour Mac qui zippe sans caractères déformés sous Windows
Janken Poi avec Python Exécutons sur un serveur local Windows pour les débutants
Un outil pour créer des liens symboliques sous Windows
Créez un environnement python avec ansible sur centos6
Créer un environnement Python sur Mac (Mountain Lion)
Créez un environnement de développement Python sur votre Mac
Un mémorandum pour toucher Python Flask avec Heroku
Créer un environnement Kubernetes pour le développement sur Ubuntu
Installation de TensorFlow sur Windows Easy pour les débutants en Python
Construire un environnement de développement Python sur Raspberry Pi
Étapes pour créer PyTorch 1.5 pour CUDA 10.2 sous Windows
python basic ② sous windows
Installez python sur Windows
Construire TensorFlow sous Windows
Construisez XGBoost sur Windows
construire Python sur Ubuntu
Installez Python (pour Windows)
Créez un environnement de développement local avec WSL + Docker Desktop pour Windows + docker-lambda + Python
# 2 Créez un environnement Python avec une instance EC2 d'AWS (ubuntu18.04)
Créez un environnement de développement local pour Laravel6.X sur votre Mac
[Heroku] Mémo pour le déploiement d'applications Python à l'aide d'Heroku sous Windows [Python]
Créez un environnement python pour chaque répertoire avec pyenv-virtualenv
Jusqu'à dessiner un graphe 3D avec Python dans Windows10
Créez un environnement de développement Python 3 (Anaconda) confortable avec Windows
Remarques sur l'installation de Chainer 1.5 pour GPU sous Windows
Comment créer un environnement Django (python) sur Docker
Créer un environnement de développement Python sur Mac OS X
PIL en Python sur Windows8 (pour Google App Engine)
Créez un environnement Python sur votre Mac en utilisant pyenv
Créer un environnement de développement Python à l'aide de pyenv sur MacOS
Créez un environnement shell et python décent sur Windows
Comment créer un environnement Python sur Amazon Linux 2
Windows10 (x64) Créer nativement un environnement d'apprentissage automatique