apt-get
或yast
无法使用)。在最坏的情况下,我将不得不从源代码编译它们。有更好的方法吗?我听说过Enthought Python和Sage,但不确定最佳方法是什么。
有任何建议吗?
apt-get
或yast
无法使用)。#! /bin/sh
builddir=$(pwd)/pythondist
mkdir -p $builddir/source
cd $builddir/source
wget 'http://python.org/ftp/python/2.6.5/Python-2.6.5.tgz'
wget 'http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=7df2a529a074f613b509fb44feefe74e'
tar -xvzf Python-2.6.5.tgz
# Build python
cd $builddir/source/Python-2.6.5/
# The --prefix argument is the key!
./configure --prefix=$builddir
# Be sure to speed things up with the -j option if you're
# on a multicore machine (e.g. make -j 4 build for a quadcore)
make build
make install
# Now install setuptools
cd $builddir/source
tar -xvzf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11/
# The next key is to call this with the python you just built!
$builddir/bin/python setup.py build
$builddir/bin/python setup.py install
# Now just install numpy, scipy, ipython, matplotlib, etc through easy_install
$builddir/bin/easy_install numpy
$builddir/bin/easy_install scipy
$builddir/bin/easy_install matplotlib
$builddir/bin/easy_install ipython
编辑:脚本中有些小错误。如果numpy或scipy无法从egg安装,请查看安装说明。
此脚本主要用于演示在您的主目录中构建独立的Python,并假定您正在构建系统已经安装了正确的依赖项,但它至少可以指引您朝着正确的方向前进。
如果使用easy_install无法正确构建numpy或scipy,请下载源代码tarballs并尝试使用不同的参数进行构建。(我个人的经验是,Numpy/Scipy的setup.py自动检测错误的Fortran编译器是一个常见问题) 例如:
cd $builddir/source
wget http://sourceforge.net/projects/numpy/files/NumPy/1.4.1/numpy-1.4.1.tar.gz/download
tar -xvzf numpy-1.4.1.tar.gz
cd numpy-1.4.1/
# If you don't specify an action (e.g. "build") this will enter an interactive
# mode to help diagnose problems... See the INSTALL.txt file, too!
$builddir/bin/python setup.py
基于价格因素,我个人会选择Sage。主要问题在于确保您使用Python安装程序来访问库,而不管您使用哪种Python套件。
Python(x,y) 是一个免费的 Python 发行版,类似于 EPD (Enthought Python Distribution)。虽然两者都包含基本的标准库,但存在一些差异,所以您应该找出哪个更适合您的需求。EPD 的一个有趣方面是它最近采用了Intel MKL 库,因此可能比 pythonxy 和标准的 numpy 安装程序具有性能优势。
我不知道这些发行版在没有管理员权限的 Unix 系统上如何工作,这是您可能需要尝试的事情。
Sage 则不专注于成为一个发行版(请参见维基百科页面),因此无法进行比较。
SageMath是完全免费(GPL兼容)的,该项目的三个主要目标之一是成为自包含的开源数学软件发行版,尽管它体积很大,但易于从源代码(或二进制文件)安装。您应该能够设置Sage或Sage中的任何其他内容(例如Web笔记本),而无需root访问。
我每天都使用Sage。我是一个忠实的粉丝,但如果你没有准备好进行大量的更新、调整和配置,我不会推荐它。它还没有准备好面向主流市场。
如果你愿意付出努力来让它运行并保持运行状态,那么Web笔记本界面是非常棒的。但我想象不出你能在没有root权限的情况下让它运行起来。
您可以使用virtualenv创建虚拟隔离环境,无需任何访问权限,然后调用easy_install自动安装(如果需要编译)所有所需的库到当前目录中,无需管理员权限。
唯一的条件是能够运行虚拟环境,因为您不能安装任何东西。您将不得不将其作为存档文件下载并手动调用virtualenv.py。