在OS X中更改$ PATH以运行最新版本的Python

时间:2010-09-02 21:46:22

标签: python macos path

所以当我不支持2.6时,我改变了$ PATH让Python2.5与Django一起工作。现在我无法通过Python安装任何东西,因为我搞砸了很多内部。 $ PATH现在不必要地长,因为当我添加它时我不知道我在做什么。 .profile不包含我在终端中使用“export”添加的任何路径。我甚至无法安装virtualenv。在这一点上,我觉得好像我损坏了一切,并希望从头开始,而不会丢失我的所有数据。我用Time Machine备份了所有东西,但这样就可以保持我之前的设置。

现在完全没有希望了吗?我是否应该选择使用Time Machine之外的其他东西重新安装新的操作系统来备份我的所有信息?或者这很容易解决?

2 个答案:

答案 0 :(得分:1)

如果您使用的是mac osx。然后我的建议是你使用macports。这样做的解决方案就在这里。

然后,您可以使用python_select选择激活适当的版本。

之后你可以使用virtualenv。这对我很有用。

答案 1 :(得分:0)

为什么不直接编辑(使用您选择的文本编辑器)确定环境中PATH设置的“点文件”?在您的$ HOME(可能/Users/youruserid)中包含(假设您的shell是默认值,bash.bash_profile.bashrc - 通常还有一个“系统” /etc/bashrc(这个没有点;-)。 find ~ -type f -name '.*' -print0 | xargs -0 grep PATH告诉您主目录和子树中包含字符串PATH的所有相关文件(加上毫无疑问的更多信息,例如历史文件和旧点文件的保存副本),并可以指导您的编辑。请务必注销并再次登录,以确保应用所有相关文件以测试您的更改。

编辑:在所有与Python相关的内容中进行此操作;-),这是一种简单的Python方法,用于确定如何设置路径,以便在所有情况下执行完全相同的命令,如同你现在拥有的路径设置,但没有浪费重复:

>>> x='''/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/sw/bin:/sw/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/X11R6/bin'''
>>> s = set()
>>> l = list()
>>> for p in x.split(':'):
...   if p in s: continue
...   s.add(p)
...   l.append(p)
... 
>>> print ':'.join(l)
/opt/local/bin:/opt/local/sbin:/sw/bin:/sw/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/X11R6/bin
>>>