私はpycharmで次のように実行しています:
print(os.environ["PATH"]) # returns '/usr/bin:/bin:/usr/sbin:/sbin'
しかし、シェルでecho $ PATHを実行すると、これが返されます。
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin:/opt/local/sbin
[設定]> [コンソール]> Pythonコンソール> [環境変数]、設定]で編集しようとしました
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/local/bin:/opt/local/sbin
しかし、これは機能していません
何か案が?
@ fj123x、私はあなたの投稿からあなたがいると推測します
Trueの場合、問題は、JetBrainsjeditermターミナルエミュレーターがすべてのシェル起動ファイルを正しい順序で実行していないことです。
Zshを使用している場合は、ターミナルプラグインの.zshrc
を編集することで、その根本的な問題を修正できます。 PyCharnがアプリケーションフォルダにあると仮定して、/Applications/PyCharm.app/Contents/plugins/terminal/.zshrc
を開き、内容を次のように置き換えます。
#!/bin/zsh
# starver mod
# Jetbrains uses jediterm as a Java terminal emulator for all terminal uses.
# There are some apparent limits on use:
# - must use old-style Shebang - not the #!/usr/bin/env zsh
# - must implement the startup file loading here
#
# Note: original contents are in lib/terminal.jar
# mappings for Ctrl-left-arrow and Ctrl-right-arrow for Word moving
bindkey '^[^[[C' forward-Word
bindkey '^[^[[D' backward-Word
ZDOTDIR=$_OLD_ZDOTDIR
if [ -n "$JEDITERM_USER_RCFILE" ]
then
source "$JEDITERM_USER_RCFILE"
unset JEDITERM_USER_RCFILE
fi
if [ -n "$ZDOTDIR" ]
then
DOTDIR=$ZDOTDIR
else
DOTDIR=$HOME
fi
if [ -f "/etc/zshenv" ]; then
source "/etc/zshenv"
fi
if [ -f "$DOTDIR/.zshenv" ]; then
source "$DOTDIR/.zshenv"
fi
if [ -n $LOGIN_Shell ]; then
if [ -f "/etc/zprofile" ]; then
source "/etc/zprofile"
fi
if [ -f "$DOTDIR/.zprofile" ]; then
source "$DOTDIR/.zprofile"
fi
fi
if [ -f "/etc/zshrc" ]; then
source "/etc/zshrc"
fi
if [ -f "$DOTDIR/.zshrc" ]; then
source "$DOTDIR/.zshrc"
fi
if [ -n $LOGIN_Shell ]; then
if [ -f "/etc/zlogin" ]; then
source "/etc/zlogin"
fi
if [ -f "$DOTDIR/.zlogin" ]; then
source "$DOTDIR/.zlogin"
fi
fi
if [ -n "$JEDITERM_SOURCE" ]
then
source $(echo $JEDITERM_SOURCE)
unset JEDITERM_SOURCE
fi
すべての厄介な詳細に興味がある場合、または別のシェルのソリューションを開発できるようにこの問題をどのように解決したかを知りたい場合は、次の回答を参照してください: https://stackoverflow.com/a/51006003/ 1089228
Ubuntuでは、zshを使用して、同じ問題に遭遇しました。
PyCharmとシェルで同じ環境変数を使用するために使用するハックは、アイコンを使用する代わりに、ターミナルからPyCharmを起動することです。 PyCharmシェルは、起動元のメインシェルから継承しているように見えます。
Linuxで@SteveTarverのソリューションを複製できなかったので(Sudoを使用している場合でも.../terminal /.zshrcは/ snap /でのみ読み取られました)、他の人の問題を解決できることを願っています。
私はbashのコマンドラインで作業しており、$PATH
を含む私の環境は.bash_profile
に設定されています。 PyCharmのデフォルトのターミナルはtcsh
です。 ファイル...デフォルト設定...ツール...ターミナル...シェルパスに移動し、再起動して、bashに変更しました。組み込み端末は期待どおりに機能しました。