【问题标题】:Using Enthought Python instead of the system Python使用 Enthought Python 代替系统 Python
【发布时间】:2012-01-25 19:16:13
【问题描述】:

我已经安装了Enthought Python Distribution,它基本上是一个经过美化的 Python 发行版,其中添加了用于数值和科学计算的库。现在,由于我使用的是 Debian,因此已经安装了 Python。如果我希望将 Enthought Python 用于所有工作,我将如何去做?

现在我正在使用一个基本的别名,例如:

alias python='/usr/local/share/enthought/bin/python'

这很好,但对于独立 Python 脚本中的 #! /usr/bin/env python 之类的 shebang 指令会失败。那么如何让系统使用 Enthought Python(当然不会破坏任何东西!)。谢谢!

【问题讨论】:

    标签: python linux installation enthought


    【解决方案1】:

    我认为这是官方的做法,正如 Enthought 推荐的那样:

    export PATH=/usr/local/EPD/bin:$PATH
    

    如果您安装到/usr/local/EPD。否则,一般形式为

    export PATH=/path/to/EPD/bin:$PATH 
    

    这会将 EPD 二进制目录的路径添加到系统 PATH 变量中。 : 是某种连接符号。您可以每次都在终端中运行它,也可以将它放在 ~/.bashrc 文件中。


    关键编辑:

    事实证明,EPD 实际上应该附加到 PATH,否则您可能会遇到操作系统问题。这样做:

     export PATH=$PATH:/path/to/EPD/bin
    

    【讨论】:

      【解决方案2】:

      如果你在 Debian 上,你可以在 virtualenv 中安装 enthought Python。

      Enthought 将拥有自己的库,而无需打扰其他需要系统版本的 debian 程序。使用virtualenvwrapper,您可以更轻松地在环境之间切换。

      还有一种使用 virtualenv 的方法可以在环境之间共享(某些)站点包。确保在 virtualenv 中使用 pip 而不是 easy_install。

      Django 人一直都这样做。

      【讨论】:

      • 这是正确的做法。它不会破坏标准命令和您计算机的基础架构,它允许您在需要时轻松地使用 EPD,只需在 virtualenv 中执行此操作即可。
      • 如何在 virtualenv 中安装 enthoughts?我找不到任何完成此过程的文档。任何帮助,将不胜感激。谢谢。
      【解决方案3】:

      将当前版本的 python 符号链接到 Enthought 版本。

      ln -s /usr/bin/python[version]  /path/to/enthought/python
      

      【讨论】:

      • 嗯,经过一些测试,这似乎不起作用。符号链接破坏了许多其他程序。例如,我现在无法导入gtk 模块。必须对PYTHONPATH 做点什么。
      • @pewfly - 您无法导入 gtk,因为它尚未安装。如果您想将它用于您的 EPD 安装,那么您需要使用 enthought python 构建安装gtk。通常,(特别是对于链接到已编译库的gtk 之类的东西)这意味着从源代码重新编译。仅仅改变你的PYTHONPATH 通常是行不通的,因为你系统的python 通常是一个完全不同的版本。如果您使用的是 C 扩展库,并且它们是针对不同版本的 python 构建的,那么事情将无法正常工作。
      • @JoeKington 好建议。如果我不干预系统 Python,它看起来会更好。
      • @pewfly 出于这个原因,我在修改到外部 python 发行版与安装他们自己使用的库时总是很谨慎。
      • 嗯,你当然可以在 EPD 上安装新的东西。请务必使用 EPD 的 python 构建它们。 (并将它们与 EPD 的库等链接起来。)这并不难,但您确实需要了解事物的位置,并且相当熟悉从源代码配置和构建事物。在大多数情况下,只需 a) 使用 EPD 的 easy_install,或 b) 如果您直接编译项目(如 gtk),请确保它检测到正确的 python 二进制文件(这在大多数情况下意味着它将检测到该python 的正确标头/库。
      【解决方案4】:

      我认为,在 Debian 上最好安装这样的软件包:

      apt-get install python-numpy python-numpy-doc python-scipy python-matplotlib ipython
      

      而不是安装 Enthought Python Distribution。

      【讨论】:

      • 是的,我确实先尝试过。但是 Debian 存储库中的软件包已经过时了。出于我的目的,我需要最新版本的 matplotlib,它不在 repos 中。还是谢谢。
      【解决方案5】:

      嗯,我也遇到了这个问题。我做的第一件事是建议按照 Chad 的建议将 python 添加到路径中,但这会导致其他使用 Enthought 中未包含但 Linux Mint 中包含的库(或您的任何发行版)的 linux 应用程序出现一些问题重新使用)。特别是,如果我从终端加载python,我成功进入了Enthought版本的python,但是运行“import pygtk”会导致错误(因为该库没有安装在Enthought版本的python中)。

      有谁知道如何使用 PYTHONPATH 包含第一个 Enthought 库,然后包含标准 Linux 库?这将是最佳配置....

      【讨论】:

      • 见我上面的编辑。路径实际上应该附加到而不是附加到。
      • 另外,要回答您的问题,请将 export PYTHONPATH=$PYTHONPATH:/path/to/standard/libraries 放入 ~/.bashrc
      【解决方案6】:

      我使用别名。

      alias python=~/Softwares/EPD_7.3/epd-7.3-2-rh5-x86_64/bin/python
      alias ipython=~/Softwares/EPD_7.3/epd-7.3-2-rh5-x86_64/bin/ipython
      

      【讨论】:

        猜你喜欢
        • 2012-03-22
        • 2021-09-13
        • 2015-12-31
        • 2013-09-03
        • 2012-09-17
        • 1970-01-01
        • 1970-01-01
        • 2015-10-07
        • 1970-01-01
        相关资源
        最近更新 更多