Mein Projekt sieht so aus:
%Vor%Der Inhalt der .py-Dateien wird unten angezeigt:
main.py
%Vor%c / run_project.py
%Vor%c / z / the_module.py
%Vor%c / z / y / das_modul_modul.py
%Vor%c / z / y / die_support_function.py
%Vor%GitHub Repo, um die Replikation zu vereinfachen: running-pycharm-project-at-cmd
Das Problem: Laden Sie in Pycharm das Projekt mit running-pycharm-project-at-cmd
als Root hoch. Dann klicke ich mit der rechten Maustaste und starte die run_project.py Datei. Alles funktioniert gut. Ich kann nicht herausfinden, wie run_project.py
von der Kommandozeile auf die gleiche Weise ausgeführt wird. Das Erstellen von main.py
war eine an anderer Stelle vorgeschlagene Problemumgehung , aber es schlägt aufgrund der relative Verweise auf die Vorlagendatei (im aktuellen Projekt ist der Ordner y
ein Git-Submodul und kann daher keine absoluten Referenzen enthalten).
Ich ging zurück und konnte es zum Laufen bringen. Beachten Sie, dass ich Windows 7 verwende und einige davon möglicherweise plattformabhängig sind. Damit dies funktioniert, ohne Code zu ändern, setzt der Schlüssel die Umgebungsvariable PYTHONPATH, bevor er ausgeführt wird. PyCharm führt dies automatisch aus (standardmäßig, aber konfigurierbar in den Optionen zur Ausführung der Konfiguration).
Schritte:
python run_project.py
Traceback (most recent call last):
File "run_project.py", line 1, in <module>
from c.z.the_module import the_module_function, the_module_write_function
ImportError: No module named 'c'
SET PYTHONPATH=G:\TEST\running-pycharm-project-at-cmd-master
python run_project.py
Running run_project.py!
the_module_function is running!
The module module function is running!
Here is support data: I am the support data!
START cmd /K "cd G:\TEST\running-pycharm-project-at-cmd-master\c & python run_project.py"
G:\TEST\myotherlocation
run_it.bat
Running run_project.py!
the_module_function is running!
The module module function is running!
Here is support data: I am the support data!
Wenn Sie Ihre Datei main.py in den Ordner c
kopieren und sie in __init__.py
umbenennen, können Sie Folgendes ausführen:
$ python -m c
Das Argument -m
sagt Python, dass es ein Modul oder Paket ausführen soll (in diesem Fall c
). Python sucht im Ordner c
nach einer __init__.py
-Datei und führt diese aus. Sie müssen nur sicherstellen, dass sich der Ordner c entweder in Ihrem PYTHONPATH befindet oder ein Unterordner des aktuellen Arbeitsverzeichnisses ist.
Tags und Links python command-line python-3.x project-structure pycharm