如何在不安装的情况下使用numpy?

Jos*_*lls 9 python numpy launchpad

我控制访问我没有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.
>>>
Run Code Online (Sandbox Code Playgroud)

谢谢!

更新:系统管理员不会在机器中安装任何类型的软件(这是一个VPS,我猜他们有一个标准的部署映像).他们是疯狂的妄想,他们甚至不会告诉我他们正在运行什么样的unix,甚至Apache服务的版本号也被混淆了!这是我登录时获得的所有信息:

Linux server1 2.4.22 #4 SMP Wed Nov 5 17:44:16 CET 2003 i686 unknown
Run Code Online (Sandbox Code Playgroud)

并编译:

python setup.py install --home=~
[...]
RuntimeError: Broken toolchain: cannot link a simple C program
Run Code Online (Sandbox Code Playgroud)

cat/proc/version

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
Run Code Online (Sandbox Code Playgroud)

Chi*_*chi 5

如果您可以解决所有依赖关系,您可以使用在$ HOME中安装它dpkg.dpkg不会自动解决依赖关系,因此您可能必须找出正确的顺序来安装软件包.下载您感兴趣的.deb文件并为每个软件包运行以下命令:

$ dpkg -i --force-not-root --root=$HOME mypackagename.deb
Run Code Online (Sandbox Code Playgroud)

如果您随后将新安装的Numpy目录添加到$ PYTHONPATH或sys.path,Numpy可能正常工作.

或者,您可以从Numpy的其他二进制发行版之一(例如Sage)中提取所需的文件.

Numpy对它所需的依赖项版本非常挑剔,所以你可能最好下载你正在使用的特定Linux版本的软件包.

最后,请考虑询问您的管理员他/她是否会为您安装Numpy.你会惊讶地发现一个简单的请求可以解决你所有的问题,特别是因为它只是一个apt-get命令.

编辑:作为替代方案,如果您可以访问运行相同版本/体系结构的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并不适合胆小的人,所以这可能会导致很多头部撕裂和撕裂.