
virtualenvのためかどうかはわかりませんが、tensorflow環境を設定するためにvirtualenvコマンドを実行してみました。これでパスはまったくロードされません。何も動作しません。基本コマンド(例ls
:)を実行するには、スクリプト全体()を実行する必要があります/bin/ls
。すべてのパスのエクスポートを手動で実行しないと、何もできません。
$ export PATH=/bin/:$PATH
など。
ログアウトしてからSSH経由で再度ログインした後、何も読み込まれません。
興味深いことに.bashrc
、両方とも.bash_profile
ロードされます(ただし、特定のコマンド(たとえば)を実行できないため、正常にロードされませんsource
)。また、このコンピュータにはルートアクセス権がないため、グローバルに何も変更(または中断)できません。
また、「無効化」が機能しないため、virtualenvを終了できません。
私は何を壊したのですか?
答え1
$PATH
代わりに変数をオーバーライドした可能性があります。延長するそれ。
シェルの開始ファイルの 1 つに、次の割り当てがある可能性があります。
PATH="/some/path"
変える
PATH="/some/path:$PATH"
あなたがどこに割り当てられたかを調べ、PATH
彼らが決して割り当てられないようにしてください。変える $PATH
しかし、延長するそれ:
/usr/bin/grep 'PATH=' ~/.bash*
質問がすぐに見つからない場合は、このファイルの関連スニペットで回答を更新してください。
シェルスクリプトでエラーを修正する前の回避策として、/etc/profile
ほとんどのLinux / BSDディストリビューションでシステム全体が定義されている場所を確認できます。$PATH
走る
`export PATH="/usr/bin:/usr/local/bin:$HOME/bin"`
これにより、標準の場所にインストールされているすべてのツールにアクセスできます。
virtualenvの重要な点は、プロジェクトごとに環境を定義できることです。いいえ環境固有のコードでシェルの起動ファイルを複雑にします。関連するすべてのインストールスクリプトを削除(コメント)し、ツールを使用してvirtualenv
各ディレクトリの環境を作成/更新します。