我通过控制台访问对我没有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
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
最佳答案
如果可以解决所有依赖关系,则可以使用dpkg
将其安装在$ HOME中。 dpkg
不会自动解决依赖关系,因此您可能必须找出正确的顺序来安装软件包。下载您感兴趣的.deb文件,并对每个软件包运行以下命令:
$ dpkg -i --force-not-root --root=$HOME mypackagename.deb
如果然后将包含新安装的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
手工 build Numpy并不是为了使自己胆怯,所以这可能会导致很多头撞和头发撕裂。
关于python - 我如何在不安装numpy的情况下使用它?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6976503/