我可以访问一组 Unix 机器,但它们没有我需要的软件( numpy 、 scipy 、 matplotlib 等),所以我必须自己安装它们(我不也没有 root 权限,所以像 apt-get 或 yast 这样的命令不起作用。
在最坏的情况下,我将不得不从源代码编译它们。有没有更好的方法进行?我听说过关于 Enthought Python 的事和 Sage ,但我不确定最好的方法是什么。
有什么建议吗?
最佳答案
EPD(Enthought Python Distribution)很棒,但即使是学术界,您也只能免费获得 32 位版本。如果你打算做任何 ram 密集型的事情,那不是一个真正的选择。
编辑:此后已更改,64 位版本可免费用于学术/教育用途。
另一方面,英特尔 MLK 库确实有所不同,它构建了很多漂亮的东西(例如最新版本的 mayavi),否则从源代码构建这些东西真的很痛苦。另外,正如其他人所说,您可以将其解压缩到您的主文件夹中并运行它。你不应该需要root权限。
如果您不需要使用超过 2GB 的内存,EPD 绝对是一个不错的选择,但您必须付费才能获得 64 位版本。
如果您在 Windows 上,Python(x,y) 非常棒,但除此之外,祝您好运,找到 linux 预构建的二进制文件。它们或多或少不再存在...... ubuntu 存储库似乎永久关闭,我不知道有什么地方可以再为它获得预编译的 tarball。不过,在不久的将来,这一切都可能会改变……但愿如此,因为这对您来说是一个不错的选择!
老实说,如果您只需要 numpy、scipy 和 matplotlib,从源代码构建它们相对容易(尤其是如果您不用 scipy 也能逃脱的话),而且您始终可以构建自己的 python 解释器,然后使用easy_install 以避免必须从源代码构建它们。当然,这是假设您正在使用的机器上已经安装了基本的构建环境(gcc 等)...无论如何,这就是我遇到您的情况时所做的...
如果您走那条路,最好下载 python 源代码并构建您自己的 python 解释器,您将使用它来处理所有事情。然后安装 setuptools 和 easy_install 剩下的。 (或者,您可以下载 numpy 等的源代码,并为您刚刚构建的 python 解释器构建和安装它们。)
这展示了如何在当前工作目录中名为“pythondist”的目录下构建基础知识(python、numpy、scipy、matplotlib、ipython)的基本思想。
#! /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,并假设您正在构建的系统已经安装了适当的依赖项,但它至少为您指明了正确的方向。
如果 numpy 或 scipy 无法使用 easy_install 正确构建,请下载源 tarball 并尝试使用不同的参数从那里构建它们。 (根据我的经验,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
例如,在我的 OpenSUSE 11.2 系统上,我需要在构建 numpy 和 scipy 时指定“--fcompiler=gnu95”,因为我同时安装了 g77 和 gfortran。否则事情将无法正确构建。
但是,在较旧的 RHEL 3 系统上,它可以从 easy_install 完美构建。 YMMV,当然。祝你好运!
关于python - Enthought Python、Sage 或其他(在 Unix 集群中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2751058/
我试图在一个项目中使用rake,如果我把所有东西都放到Rakefile中,它会很大并且很难读取/找到东西,所以我试着将每个命名空间放在lib/rake中它自己的文件中,我添加了这个到我的rake文件的顶部:Dir['#{File.dirname(__FILE__)}/lib/rake/*.rake'].map{|f|requiref}它加载文件没问题,但没有任务。我现在只有一个.rake文件作为测试,名为“servers.rake”,它看起来像这样:namespace:serverdotask:testdoputs"test"endend所以当我运行rakeserver:testid时
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
我需要一些关于TDD概念的帮助。假设我有以下代码defexecute(command)casecommandwhen"c"create_new_characterwhen"i"display_inventoryendenddefcreate_new_character#dostufftocreatenewcharacterenddefdisplay_inventory#dostufftodisplayinventoryend现在我不确定要为什么编写单元测试。如果我为execute方法编写单元测试,那不是几乎涵盖了我对create_new_character和display_invent
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。
我只想对我一直在思考的这个问题有其他意见,例如我有classuser_controller和classuserclassUserattr_accessor:name,:usernameendclassUserController//dosomethingaboutanythingaboutusersend问题是我的User类中是否应该有逻辑user=User.newuser.do_something(user1)oritshouldbeuser_controller=UserController.newuser_controller.do_something(user1,user2)我
什么是ruby的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的
本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决