0

2 つの Linux サーバーがあり、1 つはインターネットにアクセスできないプライベート ネットワーク上にあります。もう 1 つは、インターネットにアクセスできるパブリック ネットワーク上にあります。両方のサーバーが同じ RHEL-5 OS を実行します。

インターネットにアクセスできるサーバーとして、非ルートユーザーとしてホームディレクトリにpythonをインストールしました。次に、pip を使用して他のパッケージをインストールしました。pip は依存関係も解決し、必要な依存関係をインストールします。

この python を root アクセス権のないサーバーに移動するにはどうすればよいですか? また、別のディレクトリの下にルートとして再配置したいですか?

なぜ私はこれをしたいのですか?プライベート サーバーにはインターネット アクセスがないため、何百ものモジュールとその依存関係をインストールする場合、pip は機能しません。サーバーは同じOSリリースを実行しているため、あるサーバーにインストールされているpythonを別のサーバーに別のディレクトリに移動する簡単な方法はありますか?

4

1 に答える 1

1

可能であれば、正面玄関を通り抜けて、実際に他のサーバーにパッケージをインストールしてみます。すべてのパッケージのクローン作成は、原則として次と同等である必要があります。

  1. 最初のマシン (インターネットにアクセスでき、パッケージがインストールされている):

    mkdir /tmp/pypackages
    pip install -r <(pip freeze) -d /tmp/pypackages
    
  2. 2 台目のマシンで:

    • パッケージをコピーします/tmp/pypackages
    • それらをインストールします。

      cd /tmp/pypackages
      pip install *
      

      (root または通常のユーザーとして)。

pip freeze私のマシンで最初の一連のコマンドを実行しようとすると、いくつかのエラーが表示されることに注意してくださいpip。そのリストもフィルタリングする必要がある場合があります。pip freezeの出力をファイルに保存して編集する方がおそらく簡単でしょう。

PSpython自体は、システム パッケージ マネージャーを使用してローカルにダウンロード、転送、およびインストールすることもできます。

于 2013-05-01T21:47:57.400 に答える