2010-09-02 97 views
1

因此,我更改了$ PATH,让Python2.5在不支持2.6的情况下使用了Django。现在我无法通过Python安装任何东西,因为我搞砸了很多内部。 $ PATH现在是不必要的漫长,因为我不知道我在添加它时做了什么。 .profile不包含我在终端中使用“导出”添加的任何路径。我甚至无法安装virtualenv。在这一点上,我觉得好像我破坏了一切,并希望从头开始而不会丢失所有数据。我已经用Time Machine备份了所有的东西,但是这只会保持我以前的设置。

现在完全没希望了吗?我应该选择使用Time Machine以外的其他操作系统重新安装新的操作系统来备份我的所有信息吗?或者这是一个简单的修复?

+0

你不应该改变$ PATH,你只需要执行:''defaults write com.apple.versioner.python Version 2.5' from the command line – OscarRyz 2010-09-02 22:44:19

回答

1

如果您使用的是mac osx。那么我的建议是你使用macports。解决方案就是在这里。

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

之后,您可以使用virtualenv。这对我很有帮助。

+0

工作就像一个魅力。我不再需要virtualenv了。谢谢! – RaDeuX 2010-09-02 23:30:02

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 
>>> 
+0

Users home $ echo $ PATH /opt/local /斌:/选择/ local/sbin中中:/ opt/local/bin目录中:/ opt/local/sbin中中:/ opt/local/bin目录中:/ opt/local/sbin中:/ SW /斌:/ 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 ^这是我的PATH变量。这很麻烦,对吧? 我会尝试您向我展示的查找命令。 – RaDeuX 2010-09-02 22:03:00

+0

刚刚尝试了find命令,它没有给我任何回应。 – RaDeuX 2010-09-02 22:04:55

+0

“PATH”:)中有很多冗余路径。尝试删除它们。 – pyfunc 2010-09-02 22:10:49

相关问题