Ab diesem Beitrag (28. Juni 2018) verwende ich Pycharm-2018.1.4 auf Ubuntu 18.04 Bionic Beaver. Die für mich funktionierende Lösung bestand darin, einfach den sudoers.d
zu bearbeiten Datei und fügen Sie der letzten Zeile Folgendes hinzu:
user host = (root) NOPASSWD: full_path_to_python
zum Beispiel:
guya surface-pro = (root) NOPASSWD /usr/bin/python3.6
Ich musste ein Skript von PyCharm als root wie das OP ausführen, aber die akzeptierte Antwort funktionierte für mich nicht, weil 1.) ich PyCharm über Flatpak und 2.) den gksu
installiert hatte Befehl ist in neueren Versionen von Ubuntu und Mint nicht verfügbar.
Ich konnte keine Möglichkeit finden, die Dinge mit der Flatpak-Installation konsistent zum Laufen zu bringen, also habe ich das PyCharm-Flatpak deinstalliert und dann PyCharm auf die "normale" Weise neu installiert. Die akzeptierte Antwort beruht auf dem gksu
Befehl, der auf meinem Betriebssystem (Mint 19.2) nicht verfügbar ist. Zum Glück pkexec
ist eine geeignete Alternative und war auf meinem System bereits vorhanden. Ich habe dann meine Launcher-Datei (~/.local/share/applications/PyCharm.desktop) wie folgt aktualisiert. Das wichtige Bit ist die Exec
Zeile:
[Desktop Entry]
Name=PyCharm
Exec=pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /opt/pycharm-community-2019.2.2/bin/pycharm.sh
Comment=PyCharm
Terminal=false
Icon=/opt/pycharm-community-2019.2.2/bin/pycharm.png
Type=Application
Die pkexec
Der Befehl bewirkt, dass jedes Mal, wenn Sie PyCharm über .desktop
starten, ein Popup erscheint, in dem Sie zur Eingabe Ihres Passworts aufgefordert werden Datei.
Ich bin auf einen anderen Weg gestoßen, um dieses Problem zu lösen, also dachte ich, es zu teilen (diese Antwort ist eher eine Alternative für die anderen Antworten).
Es ist erwähnenswert, dass diese Lösung das Problem "angreift", indem sie nur ein bestimmtes Python-Skript (innerhalb der PyCharm-IDE) im Root-Modus ausführt und nicht die gesamte PyCharm-Anwendung.
1) Deaktivieren Kennwort zum Ausführen von Python erforderlich:
Dies wird durch Bearbeiten des /etc/sudoers.d/python
erreicht Datei. Was wir tun müssen, ist einen Eintrag in dieser Datei wie folgt hinzuzufügen:
user host = (root) NOPASSWD: full_path_to_python
, zum Beispiel:
guya ubuntu = (root) NOPASSWD /usr/bin/python
HINWEISE:
user
kann durch den Befehl erkannt werden:whoami
host
kann durch den Befehl erkannt werden:hostname
2) Erstellen ein "sudo-Skript":Der Zweck dieses Skripts besteht darin, Python das Recht zu geben, als Root-Benutzer ausgeführt zu werden.
Erstellen Sie ein Skript namens python-sudo.sh
, und fügen Sie Folgendes hinzu:
!#/bin/bash
sudo /usr/bin/python "[email protected]"
Beachten Sie erneut, dass der Pfad der Pfad zu Ihrem Python in der vorherigen Phase ist.
Vergessen Sie nicht, diesem Skript mit dem folgenden Befehl Ausführungsberechtigungen zu erteilen:chmod
, d.h.-
chmod +x python-sudo.sh
3) Verwenden die python-sudo.sh
script als Ihren PyCharm-Interpreter:
Gehen Sie in PyCharm zu:File --> Settings --> Project interpreter
Klicken Sie oben rechts auf das Symbol "Einstellungen" und dann auf "Lokal hinzufügen".
Wählen Sie in der Browseroption den python-sudo.sh
Skript, das wir zuvor erstellt haben. Dadurch erhält PyCharm das Recht, ein Python-Skript als root auszuführen.
4) Fehlerbehebung der Test:Alles, was noch zu tun bleibt, ist das eigentliche Debuggen des spezifischen Python-Skripts in der PyCharm-IDE. Dies kann ganz einfach per Rechtsklick auf das zu debuggende Skript erfolgen --> klicken Sie auf "Debug sample_script_to_debug.py"
Hoffe, es war hilfreich und lass es mich wissen, wenn es irgendwelche Fehler in diesem Ansatz gibt.
Kerl.
Versuchen Sie:gksudo ./path/to/pycharm/executable
Mehr über gksudo
Wenn Sie Ubuntu verwenden und gksudo
nicht haben Installieren Sie es mit:
apt-get install gksu
Hier ist eine beispielhafte Launcher-Konfiguration (unter:~/.local/share/applications/jetbrains-pycharm-ce.desktop
):
[Desktop Entry]
Version=1.0
Type=Application
Name=PyCharm Community Edition
Icon=/home/YOUR_USER/pycharm/bin/pycharm.png
Exec=gksudo -k -u root "/home/YOUR_USER/pycharm/bin/pycharm.sh" %f
Comment=Develop with pleasure!
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-pycharm-ce
ce
gibt die Community-Edition an, Ihre kann abweichen.