2人のユーザーが同じバイナリの異なるバージョンを受け取るのはなぜですか?

2人のユーザーが同じバイナリの異なるバージョンを受け取るのはなぜですか?

私はpython-pipを使ってパッケージを更新しました。 2 人の異なるユーザーが異なるバージョンのバイナリを取得します。

andrew$ which aws
/usr/bin/aws

andrew$ /usr/bin/aws  --version
aws-cli/1.16.194 Python/3.5.2 Linux/4.4.0-1087-aws botocore/1.12.184

andrew$ sudo su tomcat

tomcat$ which aws
/usr/bin/aws

tomcat$ /usr/bin/aws --version
aws-cli/1.11.13 Python/3.5.2 Linux/4.4.0-1087-aws botocore/1.4.70

これはTomcatユーザーとして実行されるアプリケーションとコマンドラインで発生します。私は今日(を使用して)1.11から1.16にアップグレードしましたが、pip3 install --upgrade pip awscliTomcatユーザーはまだ以前のバージョンを使用しています。 apache-tomcatサーバーを再起動し、ログアウトして再度ログインしました(まだサーバーを再起動していませんが)。 Linuxでは、あるユーザーにはプログラムをキャッシュし、他のユーザーにはキャッシュしないことは可能ですか?

コメントによれば、2人のユーザーの環境が異なると考えられます。つまり、Pythonがawscli.clidriverをインポートするとバージョンが異なることを意味します。しかし、世界中でどのように探したり修正したりしますか? Debian ストレッチ/SID, x86_64

答え1

これは pip 環境問題です。最初の数回試してみたところ、問題を解決する手順がうまくいかないと確信していたので、よく理解できませんでした。しかし、2人のユーザーになると、sudo apt-get remove awscli最終的には好きなようにインストールされました。pip3 uninstall awsclisudo pip3 install awscli

何十ものpipの質問と回答を読んだ後、私が知っているのは、さまざまなバージョンのpipが--userとsudoの権限とどのようにやり取りするのか理解していないことです。私の答えは正しいとマークされていませんが、他の答えを喜んで考えてみましょう。

関連情報