回答:
すべてのユーザーにpythonパッケージが必要ない場合は、次のように自宅にインストールできます。
pip install --user packagename
自宅にインストールしても、パッケージマネージャーと競合することはありません。
デフォルトでpip install --user
は、「ユーザーサイト」ディレクトリにインストールされます。通常、それは次のようなものです/home/lesmana/.local/lib/python3.6/site-packages
。
次のコマンドは、とりわけ「ユーザーサイト」の場所を印刷します。
python -m site
インストール場所をカスタマイズするには:
PYTHONUSERBASE=$HOME/some/dir pip install --user packagename
これにより、すべてがインストールされます $HOME/some/dir
走る:
PYTHONUSERBASE=$HOME/some/dir $HOME/some/dir/bin/progname
詳細については、pipのマニュアルを参照してください。
すべてのユーザーにpythonパッケージが必要な場合は、インストールするのが最適です/opt
。たとえば次のように:
PYTHONUSERBASE=/opt/packagedir pip install packagename
(欠落していることに注意してください--user
)
上記のように実行します:
PYTHONUSERBASE=/opt/packagedir /opt/packagedir/bin/progname
背景説明:/opt
ローカルユーザーまたはシステム管理者が自分のものをインストールできるディレクトリとして、gnu / linuxディストリビューションによって一般的に認められています。言い換えれば、ディストリビューションのパッケージマネージャーは、通常は触れません/opt
。これは、ファイルシステム階層標準で多かれ少なかれ標準化されています
ユーザーの便宜を図るため、ラッパースクリプトを記述して、/bin
またはに配置し/usr/bin
ます。これには、依然として配布パッケージマネージャーと競合するリスクがありますが、少なくとも1つのラッパースクリプトファイルにすぎません。したがって、行われる可能性のある損傷は最小限です。ラッパースクリプトには、次のような名前を付けるlocal-foo
かcustom-foo
、配布パッケージマネージャーとの衝突のリスクをさらに最小限に抑えることができます。
または、ラッパースクリプトPATH
を含め/opt/bin
て配置するように変更できます。ただし、これにPATH
は、定義済みの(またはいくつかの)システムファイルを変更する必要があります。このファイルは、配布パッケージマネージャーによって上書きされる可能性があります。
つまり、すべてのユーザーにインストールする場合は、でインストールします/opt
。ラッパースクリプトを配置する場所は、判断を促すためのものです。
/opt
ファイルシステム階層標準に関する詳細情報:
python
する前に私がこれを知っていた新しいと願っていsudio
ます。これをありがとう。
通常、ディストリビューションでは、ディストリビューションのパッケージマネージャーを使用することをお勧めします。もちろん、pip(または、perlの世界ではcpan)を使用してインストールするか、自分でコンパイルしてインストールすることができます。ただし、これを行うと、ディストリビューションのパッケージマネージャーはそれらを認識せず、依存関係またはそれらの更新を管理できません。
pipを使用することは、独自のパッケージをコンパイルしてインストールすることとほぼ同じです。必要に応じて実行しますが、ディストリビューションのパッケージマネージャーを使用します。
pip
(経由少なくともグローバルsudo
ルートやなど) -私はかなりが得たsite-package/...
とき、すでにエラーが存在するpacman
いくつかの依存関係をインストールしようとした
ArchLinuxにPYTHONパッケージをインストールする正しい方法は、PACMANを使用することです!Python3にパッケージをインストールするには、使用する必要があります
sudo pacman -S python-'package'
Python2からパッケージをインストールする場合は、使用する必要があります
sudo pacman -S python2-'package'
ほとんどのpythonパッケージはArchLinuxリポジトリにあり、AUR(ArchLinuxユーザーリポジトリ)にないパッケージ-これらのパッケージでは、PKGBUILDファイルをダウンロードしてコンパイルする必要があります。その後、PACMANを使用してインストールを完了する必要があります
makepkg -s
sudo pacman -U 'compiled-package'
パッケージがAURにない場合、またはPKGBUILDが機能しない場合、PIPを使用してPython3にインストールできます
sudo pip install 'python-package'
またはPython2
sudo pip2 install 'python-package'
virtualenv
、あるいはconda
Archでは、VirtualEnvironmentsも使用できます。これにより、コードに移植性がもたらされ、古いパッケージも維持されます。でインストールする
sudo pacman -S python-virtualenv
これを試して
virtualenv -p /usr/bin/python3 yourenv
source yourenv/bin/activate
pip install package-name
この環境を作成すると、システム全体ではなく、この環境のみにパッケージをインストールするyourenv
ようにセットアップさpip
れます。
conda
またはを使用してLinuxでパッケージを管理する方法について詳しく知りたい場合に役立ちますvirtualenv
。JupyterノートブックからPythonパッケージをインストールする
これらの規則に従えば、ArchLinuxは壊れず、PACMANとPIPの間に依存関係の問題はありません。
役に立てば幸いです!
特定のパッケージ(おそらくハックしたくないパッケージ)については、これを使用して独自のパッケージを作成します。
https://github.com/bluepeppers/pip2arch
次に、作成されたPKGBUILDをビルドしてインストールします。
変更またはハッキングしたいパッケージのvirtualenvを残します。
ここの他の回答に加えて、python-virtualenv
パッケージをチェックしてください。バージョン番号が一致しない、異なる依存関係を持つ複数のプロジェクトで開発を行う場合、非常に便利です。
https://wiki.archlinux.org/index.php/Python_VirtualEnv
また、pipとvirtualenvの2つのバリアントがあることに注意してください。1つはPython 2用、もう1つはPython 3用です。インストールが構文エラーで失敗した場合は、間違ったバージョンで試している可能性があります。