我控制台访问没有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.
>>>
谢谢!
更新:sysadmin不会在机器中安装任何类型的软件(这是一个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
5条答案
按热度按时间vx6bjr1n1#
dpkg
在你的$HOME中安装它。dpkg
不会自动解析依赖项,因此您可能需要确定正确的安装顺序。下载您感兴趣的.deb文件,并对每个包运行以下命令:如果您随后将新安装的Numpy的目录添加到$PYTHONPATH或sys.path,则Numpy可能会正常工作。
或者,您可以从Numpy的其他二进制发行版(如Sage)中提取所需的文件。
Numpy对它需要的依赖项的版本非常挑剔,所以你最好下载你正在使用的特定Linux版本的包。
最后,考虑询问您的管理员是否会为您安装Numpy。您会惊讶地发现,一个简单的请求往往可以解决所有问题,特别是因为它只是一个apt-get命令。
编辑:作为替代方案,如果您可以访问另一台运行相同版本/架构的Ubuntu/Debian的机器,您可能可以下载numpy源文件,使用
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并不适合胆小的人,所以这可能会导致大量的头部撞击和头发撕裂。
chy5wohz2#
我并不是100%能用,但Enthought有一个免费版本的EPD,其中包含numpy和scipy,可能不需要编译器安装(因为据我所知,它只是安装二进制文件),并且不需要root访问:
http://www.enthought.com/products/epd_free.php
0yycz8jy3#
您可以尝试在具有类似架构的类似机器上设置virtualenv环境。然后在VPS机器上本地安装virtualenv,并尝试在那里复制环境。
q5iwbnjs4#
您可以使用python的
distutils
(python setup.py
运行的)安装到本地目录,该目录必须添加到PYTHONPATH。例如,其使用目录层次结构
~/local/lib/python2.x
。(或者您可以使用--home=<dir>
来避免python2.x
部分)8oomwypt5#
与基于
setup.py
或pip
的方法不同,通过conda安装Numpy不需要访问任何编译器。1.安装某种形式的conda。我建议使用mambaforge:
1.使用
conda
/mamba
/micromamba
将Numpy从conda-forge
通道安装到名为my_env
的新conda环境中:1.激活conda环境:
1.在安装了numpy的情况下运行python: