[DOCKER] Utilisez OpenSeesPy quel que soit le système d'exploitation ou la version de Python

(motivation)

Lorsque j'ai essayé d'utiliser OpenSeesPy, la méthode de construction de l'environnement diffère selon le système d'exploitation, elle ne peut pas être utilisée selon la version Python, ou même si elle peut être utilisée, l'interpréteur VS Code n'interprète pas la méthode OpenSeesPy. J'ai eu du mal avant de commencer. Par conséquent, j'ai pensé à un moyen de créer facilement un environnement indépendamment d'eux.

À propos de cet article

Qu'est-ce qu'OpenSees Py?

OpenSees est une abréviation pour Open System for Earthquake Engineering Simulation, qui est un cadre open source utilisé pour l'analyse structurelle des structures et du sol lors de tremblements de terre. OpenSeesPy est un interpréteur pour l'utiliser en Python.

Qu'est-ce que Docker

Docker est un outil qui vous permet de créer le même environnement dans différents environnements par virtualisation de conteneurs. Si vous décrivez la méthode de construction dans un fichier, elle créera et exécutera non seulement le système d'exploitation, mais également l'installation de la version spécifiée de Python et d'autres bibliothèques avec docker. Avec Dockern.

procédure

Les choses nécessaires

Docker Desktop https://www.docker.com/products/docker-desktop

VS Code https://code.visualstudio.com/

Développement à distance (installé dans VS Code) https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack

Préparer Dockerfile

Docker prépare un fichier nommé Dockerfile et crée un environnement basé sur celui-ci. Cette fois, je me suis préparé comme suit. La principale chose que je fais est

  1. Installation de Python (version 3.8, y compris l'environnement Linux)
  2. Installez pip
  3. Installez les packages requis pour pypi
# Dockerfile
FROM python:3.8

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

RUN apt-get update
RUN apt-get install -y --no-install-recommends \
    python3-dev \
    python3-pip

ADD . /usr/src/app/
RUN pip install -r requirements.txt

CMD bash

Préparer requirements.txt

Comme décrit dans le Dockerfile, pip install -r requireemennts.txt installera le paquet, donc écrivez le paquet requis à l'avance. Cette fois, je veux démarrer OpenSeesPy, alors n'oubliez pas openseespy. (Eh bien, ce n'est plus limité à OpenSeesPy)

# requrements.txt (exemple)
matplotlib==3.3.2
numpy==1.19.2
openseespy==3.2.2.5
pylint==2.6.0

Créez des dossiers pour Dockerfile et requirements.txt et placez-les dedans.

Dockern

Ouvrez-le dans VS Code et appuyez sur le bouton bleu en bas à gauche de VS Code (voir figure ci-dessous). Ensuite, sélectionnez "Remote-Containers: Open Folder in Container ..." et sélectionnez le dossier avec le Dockerfile et les requirements.txt pour terminer la construction de l'environnement!

image.png

Je voudrais dire, mais VS Code ne comprend toujours pas la méthode OpenSeesPy. Après l'avoir ouvert, vous devriez voir un dossier appelé .devcontainer et un fichier appelé devcontainer.json dedans. De plus, ajoutez la description suivante et vous avez terminé!

# devcontainer.json
{
    ...
	"settings": { 
		...
		"python.linting.pylintArgs": ["--extension-pkg-whitelist=openseespy.opensees"] <-ajouter à
	},
	"extensions": [
		"ms-python.python" <-ajouter à
	]

}

Code complété

J'ai déjà préparé le produit fini, je vais donc le remplacer. (Style de programme de cuisson) https://github.com/kakemotokeita/openseespy-docker-vscode

Veuillez l'utiliser si vous le souhaitez. J'ai inclus ceux que j'aime personnellement, veuillez donc supprimer ceux dont vous n'avez pas besoin.

Veuillez me faire savoir s'il y a des erreurs ou des problèmes.

À propos, OpenSees peut analyser la structure d'une structure tridimensionnelle, mais si vous souhaitez uniquement analyser la vibration du système de points de qualité, nous avons créé un package qui peut être utilisé avec des paramètres simples. Si vous le souhaitez, veuillez également l'utiliser. https://github.com/adc21/asva

Je vous remercie.

Recommended Posts

Utilisez OpenSeesPy quel que soit le système d'exploitation ou la version de Python
Utilisons la version Python du module API Confluence.
Mise à niveau de python Anaconda
Vérifiez la version OpenSSL de python 2.6
[Python] Version Taple du menu déroulant de la préfecture
Comment utiliser correctement le package de visualisation Python
pyenv-changer la version python de virtualenv
Version Ideone> Python: 3.5 (au 29 août 2017)
[Python] Résumé de l'utilisation des pandas
[Python] Utiliser et et ou lors de la création de variables
À propos de l'environnement virtuel de Python version 3.7
Connectez beaucoup de Python ou et et
[Python] Essayez pydash de la version Python de lodash
[Python2.7] Résumé de l'utilisation d'unittest
Utilisation d'opérateurs non logiques de ou en python
Résumé de l'utilisation de la liste Python
[Python2.7] Résumé de l'utilisation du sous-processus
[Question] Comment utiliser plot_surface de python
Essai du parseur d'emacs-org orgparse pour python
[Python] Comment utiliser deux types de type ()
Un moyen simple d'utiliser Python 2.7 sur Cent OS 6
Utilisez la dernière version de PyCharm sur Ubuntu
Utiliser plusieurs versions de l'environnement python avec pyenv
Résumé de l'utilisation de MNIST avec Python
Écrire une note sur la version python de python virtualenv
Essayez Progate Free Edition [Python I]
environnement de développement python -utilisation de pyenv et virtualenv-
Résumé de l'étude de Python pour utiliser AWS Lambda
Utilisons différentes versions de SQLite3 de Python3!
Les bases de Python ①
Bases de python ①
Fonctionnement du système d'exploitation Python
Copie de python
Version 64 bits de PYTHON2.7
Mon système d'exploitation (Python)
Introduction de Python
"Régression linéaire" et "Version probabiliste de la régression linéaire" en Python "Régression linéaire de Bayes"
Web scraping pour les débutants en Python (1) Version améliorée
J'ai essayé de résumer comment utiliser matplotlib de python
Utilisez urlparse.urljoin au lieu de os.path.join pour les jointures d'URL Python
Comment utiliser Python Kivy ① ~ Bases du langage Kv ~
Utilisons les données ouvertes de "Mamebus" en Python
expression canonique python ou mémo d'objet correspondant
[Python] Utilisez l'API Face de Microsoft Cognitive Services
Version d'exécution de l'environnement standard Google App Engine / Python
EP 1 Sachez quelle version de Python vous utilisez.
Utilisez python installé par Pyenv avec Sublime REPL de Sublime Text 3
Gestion des versions de Node, Ruby et Python avec anyenv