私は現在UT AustinでPODスーパーコンピュータ作業をしています。スーパーコンピュータの技術サポートは私を助けることができませんでした。 Anaconda環境で特定のバージョンのPython(3.9)を使用したいが、間違ったPythonバージョン(3.11)がキャッシュされます。
最初はhash -rを実行してから端末を再起動して問題を解決しました(再起動しないと変更は発生しませんでした)。ただし、「screen」と入力すると、このソリューションは機能しません。 Pythonのキャッシュ位置が戻ってきました。 hash -rを実行してから「screen」を再起動することはできません。なぜなら、新しいプロセスが作成され、キャッシュが戻ってくるからです。
「フィルタ」を実行するときにハッシュテーブルを消去する解決策はありますか?
ありがとうございます!
答え1
hash -r
現時点ではシェルにのみ影響を与えるため、再起動すると災害は意味がありません。パスを変更すると、パスは自動的にハッシュされます。したがって、hash -r
これはパスを変更したり、シェルを再起動せずにパスに新しいコンテンツをインストールした場合にのみ必要です。キャッシュは「再び戻りません」。ここでの問題はキャッシュではありません。 (これはXYの問題です。存在しない問題を解決するように依頼しているため、技術サポートチームは助けることができない可能性があります。)
ハッシュテーブルは、パスに何かを発見させる原因ではありません。設定が$PATH
まさにその役割を果たします。無効な実行可能ファイルが見つかった場合は、その実行可能ファイルが正しい実行可能ファイルよりもパス上で高速であるため、正しい実行可能ファイルがパスにまったくない可能性があります。
モジュールまたは仮想環境を使用している場合は、モジュールを削除するか、間違ったPythonを含む仮想環境を無効にする必要があります。その後、正しいディレクトリを有効にするか、そのディレクトリをパスに追加する必要があります。
シェルを再起動しても間違ったファイルが残っている場合は、シェル初期化ファイル(おそらく.bashrc
bashを使用していると想定している場合)にそのファイルを保存する内容があるか、正しいファイルが有効になっていません。