Pycharmのインタプリタが私のコンソールコマンドの一部を理解していないようです。デフォルトのシェルコマンドを認識し続けますが、インストールされているユーティリティは認識しません。pycharmとサブプロセス - コンソールで動作するものがPycharmで機能しない
たとえば、subprocess
モジュールはtouch
コマンドを認識しますが、heroku
コマンドは理解できません。
面白いのは、(同じvirtualenvの)同じインタプリタを使って同じ文字列をコンソールに入力すると、すべてうまく動作します。
視覚的な例:
それは数日前に動作を停止し、そのすべてがうまく働いていた前に。
私はenvarsのいくつかを台無しにしてしまったと思っていましたが、私は1ヶ月間触れていなかった古いプロジェクトを開いて、同じsubprocess
コマンドもそこで動作を停止していました。
何が問題なのですか?
UPDATE
[OK]を、私はこのことが動作するようになりました。
os.environ['PATH']
の値は、コンソールとPycharmでは異なります。 Pycharm設定env varsに正しいPATHを追加した後、すべてが再び動作するようになりました。
ここで問題になるのは、私のプロジェクトごとに各設定を行って、この新しいPATHをどこにでも追加するのを避けるにはどうすればいいですか?これをグローバルに行う方法はありますか?これは壊れている設定のみを修復しますか?
Hm、面白い:D Windowsでpycharmを使用して、Linuxの環境で実行しようとすると、このようなことが起こります。異なる行末文字( –
\ r \ n vs \ n)私がパスをどのように形成するのか...あなたの 'アプリ'に先行するスラッシュを追加してみてください(ディレクトリの場合はMacについてはわかりません)。また、最近PycharmでProject Interpreterを更新していますか? –
異なる環境で動作する可能性があります - 異なる 'PATH'。 PyCharmは 'virtualenv'で動作するようですが、コンソールには必要ありません。 – furas