Hallo,
gibt es eine kostenlose Python IDE, wo man das Programm über SSH auf einem Linux ausführen lassen kann?
Die IDE wäre auf dem Windows PC und das Programm aber auf einem Linux Rechner
pyCharm kann das wohl, aber nicht die kostenlose Version
Danke!
IDE mit SSH Unterstützung gesucht
- __blackjack__
- User
- Beiträge: 14053
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Wäre eine SMB-Freigabe auf dem Linuxrechner eine Option? Dann ist es egal welchen Editor oder welche IDE Du verwendest.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Eine IDE, die so etwas kann, kenne ich nicht und von Windows habe ich keine Ahnung. Ganz grundsätzlich kann man sich so eine Automatisierung doch relativ leicht selbst bauen (z. B. "zu Fuß" über ssh und Shell-Scripte, über so etwas wie http://www.fabfile.org/fabric, vielleicht über githooks, oder diverse andere Wege mehr) und die meisten IDEs dürften Features anbieten, um benutzerdefinierte Kommandos zu registrieren.
Zuletzt geändert von nezzcarth am Donnerstag 26. November 2020, 19:25, insgesamt 1-mal geändert.
Emacs hat zb auch elpy was verschiedene linter anwirft, Importe checkt, etc.
Allerdings gibt es prinzipbedingte Grenzen bei deinem Anwendungsfall: GPIO Pakete et al funktionieren natürlich nicht, genauso wenig in pycharm.
Allerdings gibt es prinzipbedingte Grenzen bei deinem Anwendungsfall: GPIO Pakete et al funktionieren natürlich nicht, genauso wenig in pycharm.
VS-Code kann das alles: https://code.visualstudio.com/docs/remote/ssh
Wenn es keine ausgewachsene IDE sein muss klappt das ganz gut mit einem Jupyther notebook
Running a notebook server — Jupyter Notebook 6.1.5 documentation
https://jupyter-notebook.readthedocs.io ... erver.html
Running a notebook server — Jupyter Notebook 6.1.5 documentation
https://jupyter-notebook.readthedocs.io ... erver.html
Hier mal ein Proof of Concept mit fabric für beliebige IDEs (getestet mit geany als benutzerdefiniertes Build-Kommando):
(Müsste man natürlich noch ein bisschen robuster programmieren und verbessern; mehr als eine Datei, virtualenv anlegen, etc. …)
(Müsste man natürlich noch ein bisschen robuster programmieren und verbessern; mehr als eine Datei, virtualenv anlegen, etc. …)
Code: Alles auswählen
#!/usr/bin/env python3
import argparse
import pathlib
import fabric
HOST = '<mein host>'
def get_cli_args():
parser = argparse.ArgumentParser()
parser.add_argument('script', help='Python script')
return parser.parse_args()
def main():
args = get_cli_args()
connection = fabric.Connection(HOST)
connection.run('uname -a')
result = connection.run('mktemp -d')
if result.ok:
remote_path = pathlib.Path(result.stdout.rstrip())
with connection.cd(str(remote_path)):
connection.put(args.script, str(remote_path))
cmd = 'python3 "{}"'.format(str(remote_path / args.script))
print('-' * 79)
connection.run(cmd)
print('-' * 79)
cmd = 'rm -rfv "{}"'.format(remote_path)
connection.run(cmd)
if __name__ == '__main__':
main()
Code: Alles auswählen
$ ./remote_run.py helloworld.py
FreeBSD freebsd 12.2-STABLE FreeBSD 12.2-STABLE GENERIC amd64
/tmp/tmp.Jqn6c72h
-------------------------------------------------------------------------------
Hello world!
-------------------------------------------------------------------------------
/tmp/tmp.Jqn6c72h/helloworld.py
/tmp/tmp.Jqn6c72h