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

nqwrtyyt  于 2023-05-22  发布在  其他
关注(0)|答案(5)|浏览(224)

我控制台访问没有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
vx6bjr1n

vx6bjr1n1#

  • 如果 * 你可以解决所有的依赖关系,你 * 也许 * 可以使用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源文件,使用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并不适合胆小的人,所以这可能会导致大量的头部撞击和头发撕裂。

chy5wohz

chy5wohz2#

我并不是100%能用,但Enthought有一个免费版本的EPD,其中包含numpy和scipy,可能不需要编译器安装(因为据我所知,它只是安装二进制文件),并且不需要root访问:
http://www.enthought.com/products/epd_free.php

0yycz8jy

0yycz8jy3#

您可以尝试在具有类似架构的类似机器上设置virtualenv环境。然后在VPS机器上本地安装virtualenv,并尝试在那里复制环境。

q5iwbnjs

q5iwbnjs4#

您可以使用python的distutilspython setup.py运行的)安装到本地目录,该目录必须添加到PYTHONPATH。例如,

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

其使用目录层次结构~/local/lib/python2.x。(或者您可以使用--home=<dir>来避免python2.x部分)

8oomwypt

8oomwypt5#

与基于setup.pypip的方法不同,通过conda安装Numpy不需要访问任何编译器。
1.安装某种形式的conda。我建议使用mambaforge:

curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh"
bash Mambaforge-$(uname)-$(uname -m).sh

1.使用conda/mamba/micromamba将Numpy从conda-forge通道安装到名为my_env的新conda环境中:

mamba create -n my_env -c conda-forge numpy

1.激活conda环境:

mamba activate -n my_env

1.在安装了numpy的情况下运行python:

python

相关问题