我正在尝试将我的Mac从2.6升级到2.7并且一切都很顺利,除了一些库现在使用2.6而不是2.7,任何想法如何将所有新库指向2.7?基本上我试图为2.7安装蛋黄,但它说它已经安装(在2.6下)。
$ python
Python 2.7 (r27:82508, Jul 3 2010, 21:12:11)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()
[~, kamilski81_macbook@mac]
$ which easy_install
/Library/Frameworks/Python.framework/Versions/2.7/bin/easy_install
[~, kamilski81_macbook@mac]
$ which pip
/Library/Frameworks/Python.framework/Versions/2.7/bin/pip
[~, kamilski81_macbook@mac]
$ which yolk
/Library/Frameworks/Python.framework/Versions/2.6/bin/yolk
答案 0 :(得分:2)
根据您提供的证据,您的shell搜索路径$PATH
上显示了Python 2.6和Python 2.7的两个框架bin目录。如果您使用python.org安装程序同时安装2.6和2.7,则每个安装程序默认修改您的shell启动文件以包含它在$PATH
上安装的bin目录。例如:
$ more ~/.bash_profile
[...]
# Setting PATH for MacPython 2.6
# The orginal version is saved in .profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.6/bin:${PATH}"
export PATH
# Setting PATH for Python 2.7
# The orginal version is saved in .profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
$ echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/2.6/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
您认为在2.7实例中安装pip
和easy_install
是正确的。您应该能够使用pip
或easy_install
来安装yolk
2.7。在$PATH
上同时拥有两个框架框没有任何问题;这是Mac OS X的Python框架安装方案的优点之一.Python本身安装在这些bin目录中的文件通常作为版本化文件名安装,如python2.7
,其未编辑名称带有符号链接,python
。版本化名称在所有框架bin目录中都是唯一的;使用哪个unversioned将取决于bin目录在$PATH
中出现的顺序。对于带有脚本的第三方软件包,例如yolk
,脚本名称不会自动进行版本控制,因此如果您多次安装多个bin目录,最终可能会得到yolk
。
如果您的最终目标是只有一个版本的Python,则可以修改shell启动文件(.bash_profile
,.profile
等)以删除对2.6的引用。如果您愿意,可以完全删除框架中的2.6文件。
如果你想保留两个版本的Python并且每个版本都有一个yolk
命令,可以根据需要更改你的shell $ PATH以确保首先出现所需的版本(一个尴尬的解决方案)或创建shell别名复制命令的绝对路径,或在每个框架bin目录中创建一个版本化的符号链接:
$ cd /Library/Frameworks/Python.framework/Versions/2.6/bin
$ ln -s yolk yolk2.6
$ cd /Library/Frameworks/Python.framework/Versions/2.7/bin
$ ln -s yolk yolk2.7
$ which yolk2.6
/Library/Frameworks/Python.framework/Versions/2.6/bin/yolk2.6
$ which yolk2.7
/Library/Frameworks/Python.framework/Versions/2.7/bin/yolk2.7
答案 1 :(得分:0)
首先,验证Version/2.7/site-packages
中是否未安装yolk。如果不是那么你需要告诉pip安装哪个python版本:
pip -E /Library/Frameworks/Python.framework/Versions/2.7/bin/python yolk
如果是,则路径设置存在问题,需要适当更改PATH
变量。