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.
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.
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.
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
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
# 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
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.
Ö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!
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
]
}
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