9

root 権限も sudo 権限もないコンピュータへのアクセスをコンソールします。

Python のバージョンは 2.5.2 で、numpy は使用できません。python setup.py install --user を使用できません。また、マシンで使用できるコンパイラもありません。

入手可能なコンパイル済みパッケージhttps://edge.launchpad.net/~scipy/+archive/ppa/+packagesをインストールせずに使用できますか? numpy モジュールを直接インポートしようとしましたが、文句を言います:

Python 2.5.2 (r252:60911, Jan  4 2009, 21:59:32)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/home/XXX/temp/python-numpy-1.2.1/numpy/__init__.py", line 121,
 in <module>
    raise ImportError(msg)
ImportError: Error importing numpy: you should not try to import numpy from
        its source directory; please exit the numpy source tree, and relaunch
        your python intepreter from there.
>>>

ありがとう!

更新: システム管理者はマシンにいかなる種類のソフトウェアもインストールしません (これは VPS であり、展開用の標準イメージがあると思います)。彼らは非常に妄想的で、実行している UNIX のフレーバーを教えてくれません。Apache サービスでさえ、バージョン番号が難読化されています。これは、ログイン時に取得するすべての情報です。

Linux server1 2.4.22 #4 SMP Wed Nov 5 17:44:16 CET 2003 i686 unknown

そしてコンパイルのために:

python setup.py install --home=~
[...]
RuntimeError: Broken toolchain: cannot link a simple C program

猫/proc/バージョン

Linux version 2.6.32.25-grsec-dh (root@dl345.dinaserver.com) (gcc version 4.3.2
(Debian 4.3.2-1.1) ) #2 SMP Wed Nov 3 13:21:01 CET 2010
4

4 に答える 4

5

すべての依存関係を解決できる場合は、を使用して $HOME にインストールできる場合がありdpkgます。dpkgは依存関係を自動的に解決しないため、パッケージをインストールする正しい順序を把握する必要がある場合があります。関心のある .deb ファイルをダウンロードし、パッケージごとに次のコマンドを実行します。

$ dpkg -i --force-not-root --root=$HOME mypackagename.deb

次に、新しくインストールされた Numpy を含むディレクトリを $PYTHONPATH または sys.path に追加すると、Numpy が機能する可能性があります。

または、Numpy の他のバイナリ ディストリビューション ( Sageなど) から必要なファイルを抽出できる場合もあります。

ただし、Numpy は必要な依存関係のバージョンについて非常にうるさいので、使用している特定のバージョンの Linux 用のパッケージをダウンロードするのがおそらく最善です。

最後に、管理者に Numpy をインストールするかどうかを尋ねることを検討してください。特に apt-get コマンドが 1 つしかないため、簡単なリクエストですべての問題を解決できることが多いことに驚かれることでしょう。

編集: 別の方法として、Ubuntu/Debian の同じバージョン/アーキテクチャを実行している別のマシンにアクセスできる場合は、numpy ソース tarball をダウンロードし、コンパイルしてpython setup.py buildからすべてをコピーすることができますdirectory_where_you_extracted_the_tarball/build/numpy/lib.OS-arch-PythonVersion(私のシステムでは、lib.linux-x86_64-2.6/) ターゲット マシン上の選択したディレクトリに移動します。次に、そのディレクトリを $PYTHONPATH に追加するだけで完了です。ディレクトリ全体ではなく、内容をコピーすることを忘れないでください (tar -jcf np.tar.bz2 /path/to/numpy/build/numpy/lib.OS-arch-PythonVersion/numpy次に、tar.bz2 をリモート マシンに取得し、選択したディレクトリに展開します)。

setuptools の使用方法に関するドキュメントがいくつかあります: http://docs.python.org/install/index.html#how-installation-works

ただし、Numpy を手でビルドするのは気弱な人向けではないため、多くの頭を悩ませたり髪を引き裂いたりする可能性があります。

于 2011-08-07T23:57:58.603 に答える
3

私はこれが100%うまくいくとは思っていませんが、Enthoughtにはnumpyとscipyが含まれているEPDの無料バージョンがあり、コンパイラをインストールする必要がないかもしれません(私が知る限り、バイナリをインストールするだけなので)。 root アクセスは必要ありません:

http://www.enthought.com/products/epd_free.php

于 2011-08-07T23:37:34.067 に答える
1

同様のアーキテクチャを持つ同様のマシンでvirtualenv環境をセットアップしてみることができます。次に、virtualenv を VPS マシンにローカルにインストールし、そこに環境をコピーしてみます。

于 2011-08-08T07:57:02.493 に答える
0

PYTHONPATHに追加する必要があるローカル ディレクトリへの python distutils(これがpython setup.py実行されるもの)のインストールを使用できます。例えば、

python setup.py install --prefix=~/local

ディレクトリ階層を使用します~/local/lib/python2.x--home=<dir>(または、その部分を避けるために使用できますpython2.x

于 2011-08-08T07:14:22.630 に答える