Od tohoto příspěvku (28. června 2018) používám Pycharm-2018.1.4 na Ubuntu 18.04 Bionic Beaver. Řešení, které pro mě fungovalo, bylo jednoduše upravit sudoers.d
soubor a na poslední řádek přidejte následující:
user host = (root) NOPASSWD: full_path_to_python
například:
guya surface-pro = (root) NOPASSWD /usr/bin/python3.6
Potřeboval jsem spustit skript z PyCharm jako root jako OP, ale přijatá odpověď pro mě nefungovala, protože 1.) Nainstaloval jsem PyCharm přes flatpak a 2.) gksu
příkaz není k dispozici na novějších verzích Ubuntu a Mintu.
Nemohl jsem najít způsob, jak zajistit, aby věci fungovaly konzistentně s instalací flatpak, takže jsem odinstaloval flatpak PyCharm a poté znovu nainstaloval PyCharm „normálním“ způsobem. Přijatá odpověď závisí na gksu
příkaz, který není dostupný v mém OS (Mint 19.2). Naštěstí pkexec
je vhodnou alternativou a byl již dostupný v mém systému. Poté jsem aktualizoval svůj spouštěcí soubor (~/.local/share/applications/PyCharm.desktop) následovně. Důležitým bitem je Exec
řádek:
[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
pkexec
příkaz způsobí, že se při každém spuštění PyCharm pomocí .desktop
objeví vyskakovací okno s výzvou k zadání hesla soubor.
Narazil jsem na jiný způsob, jak tento problém vyřešit, a tak mě napadlo ho sdílet (tato odpověď je spíše jako alternativa k ostatním odpovědím).
Stojí za zmínku, že toto řešení „útočí“ na problém spuštěním pouze určitého skriptu Python (v rámci IDE PyCharm) v režimu root a nikoli celé aplikace PyCharm.
1) Zakázat vyžadující heslo pro spuštění Pythonu:
Toho dosáhnete úpravou /etc/sudoers.d/python
soubor. Co musíme udělat, je přidat položku do tohoto souboru následovně:
user host = (root) NOPASSWD: full_path_to_python
, například:
guya ubuntu = (root) NOPASSWD /usr/bin/python
POZNÁMKY:
user
lze zjistit příkazem:whoami
host
lze zjistit příkazem:hostname
2) Vytvořit a "sudo script":Účelem tohoto skriptu je poskytnout pythonu oprávnění ke spuštění jako uživatel root.
Vytvořte skript s názvem python-sudo.sh
a přidejte do něj následující:
!#/bin/bash
sudo /usr/bin/python "[email protected]"
Všimněte si znovu, že cesta je cesta k vašemu Pythonu jako v předchozí fázi.
Nezapomeňte udělit oprávnění ke spuštění tohoto skriptu pomocí příkazu:chmod
, tj. -
chmod +x python-sudo.sh
3) Použijte python-sudo.sh
skript jako váš interpret PyCharm:
V rámci PyCharm přejděte na:File --> Settings --> Project interpreter
V pravé horní části klikněte na ikonu „nastavení“ a klikněte na „Přidat místní“.
V možnosti prohlížeče vyberte python-sudo.sh
skript, který jsme vytvořili dříve. To dá PyCharm oprávnění spouštět python skript jako root.
4) Ladění test:Vše, co zbývá udělat, je skutečně odladit konkrétní skript Python v IDE PyCharm. To lze snadno provést kliknutím pravým tlačítkem myši na skript pro ladění --> klikněte na "Debug sample_script_to_debug.py"
Doufám, že to bylo užitečné, a dejte mi vědět, pokud jsou v tomto přístupu nějaké chyby.
Chlape.
Zkuste:gksudo ./path/to/pycharm/executable
Další informace o gksudo
Pokud používáte ubuntu a nemáte gksudo
nainstalujte jej pomocí:
apt-get install gksu
Zde je příklad konfigurace spouštěče (pod:~/.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
označuje vydání komunity, vaše se může lišit.