は、プログラムの端末は空白のままです。
stdin=sys.stdin, stdout=sys.stdout
を手動で設定しようとしましたが、何も変更されませんでした。はPyCharmで働いていないsubprocess.callする(Linux)ここで
私はここで間違っていますか?
は、プログラムの端末は空白のままです。
stdin=sys.stdin, stdout=sys.stdout
を手動で設定しようとしましたが、何も変更されませんでした。はPyCharmで働いていないsubprocess.callする(Linux)ここで
私はここで間違っていますか?
PyCharmとIDEでは、通常、getpass
のような入力が嫌いです。 sudo
はこのような方法でパスワードを要求するので、リダイレクトされたIDEコンソールからは実行できません。
stdin
からPopen
へのリダイレクトは、いずれも変更されません。
回避方法:端末からsudo
コマンドを実行してください。 xterm
との例は、(申し訳ありませんが、私は、最近の端末について多くを知らない):
call(["xterm","-e","sudo", sys.executable, os.path.realpath(__file__), "--root-install"])
作品!かなりではありませんが、私はちょうどそこに_some_解決が嬉しいです。非常に賢い! –
うれしいです!なぜ私は早くそれを考えなかったのだろう...ここに窓を走らせる。その他の問題:) –
いくつかのウィンドウの問題もありましたが、私は_hoseを回避する方法を知っています.Linuxのハックは新しいものです。依存関係を確実にインストールするスタンドアロンのPythonプログラムは、私の挑戦です。 –
pycharm端子ははsudo GETPASS方式をサポートしていません。おそらく 'pexpect'が必要です:http://stackoverflow.com/questions/18046508/python-pexpect-pxssh-with-sudo-and-eof –
ありがとう。私は 'sudo'にパスワードを提供することを考えましたが、どうすればそのパスワードを取得できますか? 'getpass.getpass'はPyCharmでも動作しません。 –
でも、 'getpass'も元の端末が必要です。それを検出しようとする可能性があります。通常の端末ではない場合( 'hasattr(sys.stdin、" isatty ")'のテスト)、それが普通の端末でない場合は、wxやtkのようなGUIを使ってパスワードを要求します文字を隠す) –