私の pythonpath 環境変数が無視されていることがわかりました。ubuntuでpython 2.6を使用しています。私.bashrcは次のものを持っています:
export PTYHONPATH=/my/home/mylibs/lib/python2.6/site-packages/:$PYTHONPATH
numpy次に、次を使用して新しいバージョンをインストールします。
python setup.py install --prefix=/my/home/mylibs/
ローカルに正しくインストールされます。setup.pyただし、 numpy の新しいバージョンに依存する他のパッケージを (これも を使用して) インストールしようとすると、デフォルトでロードされた numpy は にあるもので/usr/llibあり、 my に指定されたものではないため、見つけることができませんPYTHONPATH。MyPYTHONPATHは正しく設定されますが、システム全体のディレクトリがまだそれを覆しています。
これはどのように修正できますか?numpyのローカル バージョンにアクセスしたいだけですimport numpy。これに関連する他の投稿をpython 2.4で見ましたが、私が知る限り、解決されたことはありません。また、今のところpipまたはvirtualenvをインストールせずにこれを行いたいと思います。--prefixまたは--homeに渡されたオプションを使用してsetup.py変更できるように思われますがPYTHONPATH、これは私にはうまくいきません...システム全体のlibディレクトリが最初に読み取られます。
編集:提案に従って使用しようとしていますpip。pip認識しない古い--userバージョン (ver 0.3) をシステム全体にインストールしています。それ自体でアップグレードしようとしましpipたpipが、ローカルにインストールできないため、もちろん失敗しpip install pip --upgrade --userました。オプションではありません。の新しいバージョンをダウンロードpipしてホーム ディレクトリにローカルにインストールしましたが、プロンプトで入力すると、システム全体の古いバージョンが引き続き使用されpipます。パッケージを調べてpip見つけrunner.pyたので、それを使用してパッケージをインストールしようとしました:
runner.py install --user numpy --upgrade
それでも許可が拒否されて失敗します:
OSError: [Errno 13] Permission denied: '/usr/bin/f2py2.6'
--user壊れているようです。システム全体のpythonがシステム全体のパッケージを使用しているという事実をこれがどのように解決するかもわかりません/usr/lib...これに対する解決策はありますか?現在、Python にローカル パッケージをインストールすることは事実上不可能のようです。