2017-02-02 7 views
0

私は外部のPythonパッケージをインストールする可能性について困惑している:ローカルPythonパッケージをグローバルにインストールするときは? pipまたはsystem package-manager?

  1. pip必要(スーパーユーザ権限
    /usr/local/lib/python3.4/site-packagesへとグローバルなパッケージをインストール/home/chris/.local/lib/python3.4/site-packages
    $ pip install --user packagename

  2. pipでローカルパッケージをインストール)
    $ pip install packagename

  3. 私はパッケージマネージャzypperでのopenSUSEを使用して、ユーザーrootへのアクセス権を持っているzypper
    /usr/lib/python3.4/site-packagesへとグローバル・パッケージ(スーパーユーザー権限が必要です)
    $ zypper install packagename

をインストールします。

pipについて私が考えているのは、
- pipです。最新バージョンをダウンロードするだけです。
- 新しいバージョンが利用可能であれば、インストールされているパッケージはチェックされません。
- 独自のパッケージを仮想環境にインストールすることができます。
- zypperよりダウンロードしてインストールするのに時間がかかります。
- ローカルまたはグローバルインストールが可能です。

私のシステムのパッケージマネージャー:
- ダウンロードとインストールは高速ですか?
- パッケージをグローバルにのみインストールします。

私はインストールをいつ行う必要がありますか:pip(ローカル、グローバル)またはzypperで質問しますか?
この問題について多くのことを読んだことがありますが、この質問にはっきりと答えられませんでした。

答えて

0

OSの一部と見なされるシステムパッケージです。 OSのスクリプトとサービスがこれらのコンポーネントに依存する可能性があります。私はあなた自身に触れたり、あなたのアプリケーションOSやOSのバージョンに依存するように、実際にそれらを使ってユーザースクリプトを使用することを推奨しません。これらを使用することも真剣に考えていますが、メンテナンスや管理タスクなどのシステムレベルで実行されるスクリプトを作成する場合は、これらを使用してください。

すべてのユーザーが使用できるようにローカルにインストールされています。システムのスクリプトなどはこれらに依存しません(私はSuSEについてはわかりませんが)。しかし、他のユーザーのスクリプトもうまくいくかもしれないので、ここで変更を行う際には留意する必要があります。共有リソースです。他のユーザーが実行する必要のあるスクリプトを作成する場合は、必要なすべての依存関係に確実にアクセスできるように、これに対して開発してください。

あなたのホームディレクトリ内のものはすべてあなたのものなので、あなたのようにします。あなた自身のために何かを書いている場合、特にスクリプトを他のボックス/ OSに移植する必要がある場合は、これを使用してください。

アプリケーションソフトウェアを開発しているチームに所属している場合など、チームの基本的な開発パッケージを共有場所(おそらく/ usr/localではなく)にインストールするなど、他の選択肢もあります。

zypperまたはpipを使用する点では、zypperを使用して/ usr/libを更新することをお勧めします。これは、OSの設定を更新するための特定のツールだからです。おそらく同じものが/ usr/local/libにもありますが、それは実際には 'システム'の一部ですが、実際にはあなた次第です。 configを別のホストに複製する必要がある場合。あなたのホームディレクトリにあるものは、あなた次第ですが、新しいOS上で新しいホストに移動することに決めた場合でも、pipは利用できるようになり、環境を再現しやすくなります。

関連する問題