[冗長]パスに別のユーザーを追加して、/root/でプログラムを実行してみてください。

[冗長]パスに別のユーザーを追加して、/root/でプログラムを実行してみてください。

conda特にコマンド部分を使用しています。ミニコンダ配布。インストーラはファイルを/root/miniconda3/

問題は/root/miniconda3/binパスにありますが、コマンドはconda他のsudoerではなくルートでのみ実行できます。

権限を設定しようとしました777(コンパイラやその他のエントリが含まれていてルートディレクトリにあるため、これは悪いことを知っていますが、これはテスト環境でのみ機能します)。

注:ルートとsudoerがあります。

答え1

sudo conda必ずしも実行されるわけではなく、そのオプションが/root/.bash_profile設定されていない場合は、元のアカウントで実行されます。/etc/sudoersalways_set_home

これは意図的に設計されています。同じシステム上の複数の管理者がルートになっても、プライベートシェル環境設定を維持できます。

また、環境変数はターゲットユーザーとしてコマンドを実行する前にsudo常に標準デフォルトにリセットされるため、元のユーザーとしての設定は に保持されません。PATHPATHsudo

この場合、sudoPATH設定が適用され、他の構成ファイルを見つけることができるように、シェルでコマンドを実行する前にコマンドを設定する必要があります。HOME=/rootconda/root/.bash_profileconda

  • $HOME/.condarc文書
  • $HOME/.conda/目次
  • $HOME/.continuum/目次

これを行うには、単にrunの代わりにsudo -H condaorを実行します。sudo -i condasudo conda

関連情報