python - 完整的 setuptools 安装帮助 (Mac)

标签 python installation setuptools

我正在从教科书上学习Python,没有任何编程经验。它要求我安装设置工具,我下载了该工具。但是,每当我尝试按照网站所述通过终端安装它时,我都会收到以下消息:
错误:

can't create or remove files in install directory

The following error occurred while trying to add or remove files in the
installation directory:

[Errno 13] Permission denied: '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/test-easy-install-2960.write-test'

我认为我做错了什么,但我不知道我做错了什么。我正在运行 python 2.5,并且我已经下载了 setuptools 2.5(教科书要求这些特定版本)。我只将安装工具文件下载到我的 table ​​面。有人可以提供有关如何安装设置工具的非常全面和简单的说明吗?我运行的是 Mac OS X Mountain Lion。

最佳答案

首先,Mountain Lion 附带的 Python 2.5、2.6 和 2.7 版本已经具有 setuptools 和/或分发,因此您无需在此处执行任何操作。但是,稍后您将再次遇到同样的问题,因此:

如果您想将任何内容安装到系统范围的站点包中,则需要使用 sudo 来执行此操作,否则您将没有写入权限。例如:

sudo python2.5 setup.py install

我也很好奇为什么你使用 python2.5 而不是 python2.7 (或者只是 python,这是一样)。没有多少库和程序可以与 2.5 一起使用,但不能与 2.7 一起使用,除非您特别需要这些程序之一,否则您应该坚持使用 2.7。 (如果您遵循此建议,则可以在后面的所有内容中删除 2.5-2.5 后缀。)

同时,所有三个版本的 Python 都已配置 easy_install,因此您很少需要下载某些内容并手动安装;您只需执行 sudo easy_install-2.5 foo 即可。然而,pip 甚至比 easy_install 更好,除了极少数的软件包之外——当然,最主要的是 pip 本身。因此,您应该做的第一件事是:

sudo easy_install-2.5 pip

然后,每当您将来需要安装包 foo 时:

sudo pip-2.5 install foo

许多人急于建议安装其他版本的 Python — Homebrew、MacPorts、Python.org、Enthought 或 ActiveState。不要这样做。在 Tiger (10.4) 时代,这通常是必要的,因为 Apple 过去常常分发不完整或损坏的 Python 版本,但很长一段时间以来情况并非如此。这意味着您最终将获得两份 python2.7/python 副本、两份 easy_install-2.7/easy_install,最糟糕的是,pip-2.7/pip 的单个副本(无论您稍后安装哪个版本都会删除旧版本)。我保证你不会把它们搞清楚,你会带着关于“我安装了软件包 foo 并且它成功了,但现在我无法导入它”的新问题回到这里。

但是,如果您想要 Python 3,那么我绝对建议从 Homebrew 或 Python.org 安装那个。 Apple 没有安装 3.x 版本,并且 Python 2.x 和 3.x 通常不会互相影响(例如,您会得到 python3 而不仅仅是 python).

关于python - 完整的 setuptools 安装帮助 (Mac),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14149211/

相关文章:

python - 使用 linregress 参数中使用的查询来迭代分组

python - Numpy einsum 沿轴计算外积

python - 求和产品和分组

java - Launch4J 和 Java Web Start 的组合?

python - 包含和分发具有 Python C 扩展的第三方库

python - 值错误 : continuous-multioutput is not supported

php - XML/Parser.php 安装

android - 如何使用 gradlew.sh 在 android 上安装应用程序?

具有多个函数的 Python C 扩展

Python包: data files of a subpackage