web-dev-qa-db-ja.com

pythonライブラリを手動でインストールする方法

私は自分のタスクの1つに対してquickfixエンジン( http://www.quickfixengine.org/ )を構築し、pythonサポートも組み込みました。

残念ながら、これはマルチユーザー環境であり、pythonインストールパスにアクセスできません。したがって、make installコマンドはファイルをコピーしようとして失敗します。ファイルをそこに置くことができないので、作成された。soファイルはどこに置けますか?

そして、どうすればpython存在することを知ることができますか?python.orgのドキュメントを見ましたが、setup.pyインストール。

また、。soのパスをsys.pathに入れてみましたが、うまくいきませんでした。また、pythonパッケージの構造についてのドキュメントはありますか?ありがとう。

18
Osada Lakmal

QuickFixパッケージをコンパイルしてもsetup.pyファイルは生成されず、Pythonバインディングのみがコンパイルされ、make installに依存して適切な場所に配置すると仮定します。

この場合、QuickFixソースをコンパイルし、Python拡張モジュールを探して(システムでこれらの末尾に.so拡張を指定した)、そのディレクトリをPYTHONPATH環境変数(例:追加)

export PYTHONPATH=~/path/to/python/extensions:PYTHONPATH

またはシェル構成ファイルの同様の行。

より堅牢なソリューションには、./configure --prefix=$HOME/.localを使用したコンパイルの確認が含まれます。 QuickFixがPythonファイルを適切なsite-packagesに配置することを知っていると仮定すると、make installを実行すると、ファイルが~/.local/lib/pythonX.Y/site-packagesにインストールされます。Python 2.6+ Python ユーザーごとのサイトパッケージディレクトリ としてのパス。

一方、setup.pyファイルを提供した場合は、単に実行します

python setup.py install --user

Python 2.6+の場合。

18
gotgenes

ホームフォルダーのディレクトリにインストールし、何らかの方法でPYTHONPATHを操作してそのディレクトリが含まれるようにする必要があります。

最善かつ最も簡単な方法は、virtualenvを使用することです。しかし、それはキャッチを引き起こすインストールを必要とします22 :)しかし、virtualenvがインストールされているかどうかを確認してください。インストールされている場合、これを行うことができます。

$ cd /tmp
$ virtualenv foo
$ cd foo
$ ./bin/python

その後、通常どおり、/ tmp/foo/python setup.py installでインストールを実行できます。 (明らかに、/ tmp/fooではなく、ホームディレクトリのフォルダーに仮想環境を作成する必要があります。;))

Virtualenvがない場合は、独自のローカルPythonをインストールできます。しかし、それも許されないかもしれません。次に、パッケージのローカルディレクトリにパッケージをインストールできます。

$ wget http://pypi.python.org/packages/source/s/six/six-1.0b1.tar.gz#md5=cbfcc64af1f27162a6a6b5510e262c9d
$ tar xvf six-1.0b1.tar.gz 
$ cd six-1.0b1/
$ pythonX.X setup.py   install --install-dir=/tmp/frotz

ここで、PYTHONPATHに/tmp/frotz/pythonX.X/site-packagesを追加する必要があります。これで、実行できるはずです。

3
Lennart Regebro

公式のFAQインストール時のPythonモジュール: http://docs.python.org/install/index.html

あなたを助けるかもしれないいくつかのヒントがあります。

2
Rodrigo Hahn