Verwenden Sie OpenSeesPy unabhängig vom Betriebssystem oder der Python-Version

(Motivation)

Als ich versucht habe, OpenSeesPy zu verwenden, unterscheidet sich die Umgebungskonstruktionsmethode je nach Betriebssystem. Sie kann je nach Python-Version nicht verwendet werden, oder selbst wenn sie verwendet werden kann, interpretiert der VS-Code-Interpreter die OpenSeesPy-Methode nicht Ich hatte es schwer, bevor ich anfing. Daher habe ich mir eine Möglichkeit überlegt, eine Umgebung unabhängig von ihnen einfach aufzubauen.

Über diesen Artikel

Was ist OpenSees Py?

OpenSees ist eine Abkürzung für Open System for Earthquake Engineering Simulation, ein Open-Source-Framework für die Strukturanalyse von Strukturen und Boden während Erdbeben. OpenSeesPy ist ein Interpreter für die Verwendung in Python.

Was ist Docker?

Docker ist ein Tool, mit dem Sie durch Containervirtualisierung dieselbe Umgebung in verschiedenen Umgebungen erstellen können. Wenn Sie die Konstruktionsmethode in einer Datei beschreiben, wird nicht nur das Betriebssystem erstellt und ausgeführt, sondern auch die angegebene Version von Python und anderen Bibliotheken mit Docker installiert. Mit Dockern.

Verfahren

Dinge notwendig

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

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

Remote Development (in VS Code installiert) https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack

Bereiten Sie Dockerfile vor

Docker bereitet eine Datei mit dem Namen Dockerfile vor und erstellt darauf basierend eine Umgebung. Dieses Mal habe ich mich wie folgt vorbereitet. Die Hauptsache, die ich mache, ist

  1. Python-Installation (Version 3.8, einschließlich Linux-Umgebung)
  2. Installieren Sie pip
  3. Installieren Sie die erforderlichen Pakete für 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

Bereiten Sie die Anforderungen.txt vor

Wie in der Docker-Datei beschrieben, installiert pip install -r requireemennts.txt das Paket. Schreiben Sie daher das erforderliche Paket im Voraus. Dieses Mal möchte ich OpenSeesPy starten, also vergiss openseespy nicht. (Nun, es ist nicht mehr auf OpenSeesPy beschränkt)

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

Erstellen Sie einige Ordner für Dockerfile und require.txt und legen Sie sie darin ab.

Dockern

Öffnen Sie es in VS Code und drücken Sie die blaue Taste unten links im VS Code (siehe Abbildung unten). Wählen Sie dann "Remote-Container: Ordner in Container öffnen ..." und wählen Sie den Ordner mit der Docker-Datei und der Datei "resources.txt" aus, um die Umgebungskonstruktion abzuschließen!

image.png

Ich möchte sagen, dass VS Code die OpenSeesPy-Methode immer noch nicht versteht. Nach dem Öffnen sollte ein Ordner mit dem Namen .devcontainer und eine Datei mit dem Namen devcontainer.json angezeigt werden. Fügen Sie außerdem die folgende Beschreibung hinzu und Sie sind fertig!

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

}

Code abgeschlossen

Ich habe das fertige Produkt bereits vorbereitet und werde es ersetzen. (Kochprogrammstil) https://github.com/kakemotokeita/openseespy-docker-vscode

Bitte benutzen Sie es, wenn Sie möchten. Ich habe diejenigen aufgenommen, die mir persönlich gefallen. Bitte löschen Sie diejenigen, die Sie nicht benötigen.

Bitte lassen Sie mich wissen, wenn es Fehler oder Probleme gibt.

OpenSees kann übrigens die Struktur eines Volumenkörpers analysieren. Wenn Sie jedoch nur die Schwingung des Qualitätspunktesystems analysieren möchten, haben wir ein Paket erstellt, das mit einfachen Einstellungen verwendet werden kann. Wenn Sie möchten, verwenden Sie dies bitte auch. https://github.com/adc21/asva

Vielen Dank.

Recommended Posts

Verwenden Sie OpenSeesPy unabhängig vom Betriebssystem oder der Python-Version
Verwenden wir die Python-Version des Confluence-API-Moduls.
Upgrade von Python Anaconda
Überprüfen Sie die OpenSSL-Version von Python 2.6
[Python] Taple-Version des Pulldowns der Präfektur
So verwenden Sie das Python-Visualisierungspaket ordnungsgemäß
pyenv-change die Python-Version von virtualenv
Ideone> Python-Version: 3.5 (Stand 29. August 2017)
[Python] Zusammenfassung der Verwendung von Pandas
[Python] Verwenden Sie und und oder beim Erstellen von Variablen
Informationen zur virtuellen Umgebung von Python Version 3.7
Verbinde viel Python oder und und
[Python] Probieren Sie pydash der Python-Version von lodash aus
[Python2.7] Zusammenfassung der Verwendung von unittest
Nicht logische Operatorverwendung von oder in Python
Zusammenfassung der Verwendung der Python-Liste
[Python2.7] Zusammenfassung der Verwendung des Unterprozesses
[Frage] Wie verwende ich plot_surface von Python?
Test von emacs-org parser orgparse für Python
[Python] Verwendung von zwei Arten von type ()
Einfache Möglichkeit, Python 2.7 unter Cent OS 6 zu verwenden
Verwenden Sie die neueste Version von PyCharm unter Ubuntu
Verwenden Sie mit pyenv mehrere Versionen der Python-Umgebung
Zusammenfassung der Verwendung von MNIST mit Python
Schreiben Sie eine Notiz über die Python-Version von Python Virtualenv
Probieren Sie Progate Free Edition [Python I]
Python-Entwicklungsumgebung - Verwendung von Pyenv und Virtualenv-
Zusammenfassung des Studiums von Python zur Verwendung von AWS Lambda
Verwenden wir verschiedene Versionen von SQLite3 aus Python3!
Python-Grundlagen ①
Grundlagen von Python ①
Python-Betriebssystembetrieb
Kopie von Python
PYTHON2.7 64-Bit-Version
Mein Betriebssystem (Python)
Einführung von Python
"Lineare Regression" und "Probabilistische Version der linearen Regression" in Python "Bayes lineare Regression"
Web Scraping für Anfänger in Python (1) Verbesserte Version
Ich habe versucht zusammenzufassen, wie man Matplotlib von Python verwendet
Verwenden Sie für Python-URL-Verknüpfungen urlparse.urljoin anstelle von os.path.join
Verwendung von Python Kivy ~ ~ Grundlagen der Kv-Sprache ~
Verwenden wir die offenen Daten von "Mamebus" in Python
kanonischer Python-Ausdruck oder Match-Objekt-Memo
[Python] Verwenden Sie die Face-API von Microsoft Cognitive Services
Laufzeitversion der Google App Engine / Python-Standardumgebung
EP 1 Wissen, welche Python-Version Sie verwenden.
Verwenden Sie Python, das von Pyenv mit Sublime REPL von Sublime Text 3 installiert wurde
Versionsverwaltung von Node, Ruby und Python mit anyenv