【问题标题】:Installed new version of python, Now I can't use the libraries I've installed for the older version in Mac安装了新版本的python,现在我无法使用我在Mac中为旧版本安装的库
【发布时间】:2013-05-24 00:38:54
【问题描述】:
我使用的是旧版本的 Python 2.7.3,但我意识到它是 32 位版本,我需要 64 位 版本才能使用使用MySQLdb。
另外,我还为 Python 2.7.3 下载了其他库。现在我的问题是,这些库都不能导入我新安装的 Python 2.7.5 版本。只是想知道两个版本是否可以共享库。
当我尝试再次安装MySQLdb 时,它不会让我安装,因为它已经安装了,但是在 Python 2.7.3 下。有什么解决办法吗?
【问题讨论】:
标签:
python
python-2.7
mysql-python
【解决方案1】:
只是想知道是否有办法让两个版本都可以共享库。
虽然可以在两个不同的 Python 安装之间共享纯 Python 模块,但至少如果它们具有相同的次要版本,您通常不能共享 C 扩展模块,如 MySQLdb。而且您绝对不能将 32 位构建的模块与 64 位 Python 一起使用。
当我尝试再次安装 MySQLdb 时,它不会让我安装,因为它已经安装,但在 2.7.3 下。
这里有两个可能的问题。
首先,您可能只是使用了错误的 Python 进行安装。如果您使用 32 位 Python 2.7.3 运行该 Python 副本中的 python setup.py install 或 easy_install 或 pip,它将安装到您的 2.7.3 站点包中。这个很容易修复——只需使用 64 位 Python 2.7.5,或其easy_install 或pip。
更严重的是,您可能有两个安装指向同一个站点包目录并相互干扰。这几乎是不可能修复的。你不会让它工作的。
更一般地说,在同一台机器上安装两个具有相同 X.Y 次要版本的 Python 是很困难的,除非你有充分的理由这样做,否则你真的不应该尝试这样做。一个更好的主意是完全卸载两个 Python,包括它们的站点包,然后全新安装 2.7.5,然后重新安装所有库。
(另外,请注意,如果您使用的是 OS X 10.7 或更高版本,则您已经有 Apple 预装的 64 位 Python 2.7.2,您无法摆脱它,它也可以给你带来类似的问题。)