【问题标题】:Cleaning Python modules an have fresh start Mac OS X清理 Python 模块并重新开始 Mac OS X
【发布时间】:2011-12-01 18:55:45
【问题描述】:

我不是一个新手,但我尝试安装模块已经很长时间了,此时我想重新开始并安装 python 和我需要的所有模块,所以我真的很了解它们。我的问题是其中一些导入,但大多数安装到错误的站点包或不导入可能是因为我搞砸了我的系统/python。我也尝试了 PYTHONPATH 和 PATH 来正确设置它,但它从来没有奏效。

所以我的问题是:

  1. 有没有办法确保我可以清理所有内容并从零开始? 理想情况下,无需设置新的 Mac OSX。
  2. 有没有办法将所有模块安装在正确的位置(无论目录是什么,我都不在乎,它应该可以工作)?
  3. 是否有关于安装模块如何工作的详细分步说明。而且我不仅仅指使用easy_install、pip install等的信息,而是一种完全理解我需要考虑的内容、我需要将它们放在哪里、为什么这些模块在某些目录中被识别、系统如何找到它们以及大多数重要的是什么是最常见的陷阱以及如何避免它们。

我还尝试了 Macports 和其他各种类似的安装方式,但即使其中一些有效,而且我确信这些工具确实很棒,但大多数我不得不破解才能工作。

因此,如果有人可以推荐一种良好且稳定的方式来一次安装大量模块,这将非常有用。

非常感谢!!!!

对于冗长的问题,我们深表歉意。

【问题讨论】:

    标签: python module


    【解决方案1】:

    Buildoutvirtualenv 应该是您要查找的内容。

    Buildout 可帮助您配置 python 安装,而 virtualenv 可让您将多个不同的配置相互隔离。

    这是一个很好的blog post 解释如何一起使用它们。

    另外,请参阅另一个问题:Buildout and Virtualenv

    【讨论】:

      【解决方案2】:

      您可以使用 python.org 安装程序here 在 OS X 上安全地安装最新的 Python 2 和/或 Python 3。它们将与您已安装或 Apple 随 OS X 一起提供的任何其他 Python 共存。要安装软件包,首先为每个 Python 实例安装 Distribute,它将安装特定于版本的 easy_install 命令,即 easy_install-2.7easy_install-3.2。很多人喜欢用pip来管理包;您可以使用easy_install 安装它的特定版本副本。如果你想要更高级的东西,你也可以安装virtualenv,但是,由于 Python 框架构建在 OS X 上提供的隔离,这不像在大多数其他平台上那样必要。

      【讨论】:

        【解决方案3】:
        • 有没有办法将所有模块安装在正确的位置?

          下载并解压缩/gunzip/etc 模块源(大多数模块都以gzip 形式提供,地址为http://pypi.python.org/pypi),然后运行configure 并将--prefix 设置为相同的东西每次安装:

              [ 11:06 jon@hozbox.com ~ ]$ ./configure --prefix=/usr/local
          

          /usr/local 通常是默认值,但指定它并没有什么坏处,并且会确保您安装的每个模块都将放在/usr/local/lib/python/...

        • 是否有关于安装模块如何工作的详细分步说明?

          Python 网站有一个很棒的页面,名为:Installing Python Modules


        http://pypi.python.org/pypi
        http://docs.python.org/install/index.html

        【讨论】:

        • Python 未安装在 Mac OS X 上的 /usr/lib 中。此外,您永远不应删除 Mac OS X 上 /usr/lib 中的任何内容,因为它由 Apple 管理,可能会削弱您的系统。就此而言,您通常不应该在任何使用包管理器的 Linux 系统上执行此操作。
        • @NedDeily 实际上/usr/lib/python2.7 只是到/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 的符号链接,但/usr/lib/python2.7cd 更快。但是你的权利;对于那些不熟悉 *nix 文件系统的人,可能不应该玩/usr/lib 中的东西,除非您确切地知道自己在做什么。
        • 非常感谢。我检查了 usr/lib/ 并且只有这个符号链接。而且我现在非常了解unix文件系统。我的问题是 python 无法识别我在 /Library/Python/2.6/site-packages 中的模块并且在 /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6 中识别。而且我知道 PATH 和 PYTHONPATH 之间的区别并将其放在正确的路径上。但它不承认它。每次我安装它都会安装到错误的站点包,然后我复制并粘贴到另一个。然后其中一些工作。我还有一个问题。
        • 什么是模块?我可以通过复制和粘贴将其解压缩并放入站点包中吗?我将尝试使用上面提到的 --prefix。如果这行得通,我会很高兴。有趣的是,我将 django 目录放在了 pythonpath 上,它起作用了。非常混乱:)
        • 如果您删除 /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7,您将破坏您的系统,因为这些不仅仅是东西你已经添加了,还有 Python 的标准库和 OS X 中包含的程序使用的其他东西。
        猜你喜欢
        • 1970-01-01
        • 2011-04-15
        • 1970-01-01
        • 2011-09-24
        • 1970-01-01
        • 2015-02-09
        • 2017-10-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多