$ python --version
または$ Rscript -e 'system("python --version")'
をシェルコマンドラインから呼び出すと、Python仮想環境で動作している可能性があります。おそらくvirtualenv
で作成されています。具体的には、実行中/home/foo/miniconda3/bin/python
system("python --version")
をRStudioから実行すると、システムのデフォルトバージョンが取得されます。具体的には、/usr/bin/python
を実行しています。
どのように私は、Python 2.7.9に私の$ Rscript "foo.R"
のコールを指すことができますか?
これは、仮想Python環境にどのように入力したかによって異なります。それは1 virtualenv
によって作成された場合は、単にそれを無効化:
$ deactivate
$ Rscript -e 'system("python --version")'
2.7.9
EDITを:あなたはminicondaによって作成された仮想環境を使用しているように見えます。そのような場合は、PATH環境変数を編集して、システムのデフォルトPythonを使用することができます。あなたのPATHをどのように編集するかは、変更をどれぐらいの期間有効にしたいかによって決まります。唯一つのコマンドで失わにご変更の場合
、これを試してみてください。
$ PATH="$(echo "$PATH" | sed -e s,:/usr/local/sbin,,)" Rscript -e 'system("python --version")'
をご変更の場合は、単一のシェルセッションの継続時間を最後に、これを試してみてください。
$ PATH="$(echo "$PATH" | sed -e s,:/usr/local/sbin,,)"
$ python --version
$ Rscript -e 'system("python --version")'
PATHを永続的に変更するには、$ HOME/.bashrcファイルを適切に編集します。このためには新しいターミナルセッションを開始する必要があります。解決策は、私のRスクリプトでmethods
ライブラリへの呼び出しを挿入し、コマンドを使用してのpython 2環境をロード/作成することでした
あなたのPythonコードでshebangを使用して、どのバージョンを使うべきかを教えていただけませんか? '#!/ bin/env python2'や'#!/ bin/env python3'のようなものです。これは、Pythonコードの先頭に追加する必要があります。 – Dataman
'python3'をコマンド名として明示的に使用します –
どのように対話型Rセッションを開始しましたか?私はそれがシェルとは異なるPATH環境変数を持っていると思う。コマンドラインとRセッションからPATH環境変数を出力できますか? –