添加到pythonpathmac os x

我想

import sys sys.path.append("/home/me/mydir") 

在我的pythonpath中添加一个dir

如果我打印sys.path我的目录在那里。

然后我打开一个新的命令,现在不在了。

但不知何故,Python不能导入我保存在该目录中的模块。

我究竟做错了什么?

我读.profile或.bash_profile会做的伎俩。

我必须添加:

 PATH="/Me//Documents/mydir:$PYTHONPATH" export PATH 

为了使它工作?

sys.path修改只适用于Python解释器的生命周期。 如果你想永久地执行它,你需要修改PYTHONPATH环境variables:

 PYTHONPATH="/Me/Documents/mydir:$PYTHONPATH" export PYTHONPATH 

请注意, PATH是可执行文件的系统path,它是完全独立的。

**你可以在~/.bash_profile和源代码中使用source ~/.bash_profile

不知道为什么马修的解决scheme不适合我(可能是因为我使用OSX10.8或可能是与macports有关)。 但是我在~/.profile文件末尾添加了以下内容

 export PYTHONPATH=/path/to/dir:$PYTHONPATH 

我的目录现在在pythonpath上 –

 my-macbook:~ aidan$ python Python 2.7.2 (default, Jun 20 2012, 16:23:33) [GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.path ['', '/path/to/dir', ... 

我可以从该目录导入模块。

设置$ PYTHONPATH环境variables似乎不影响Mac上的Spyder IDE的iPythonterminal。 但是,Spyder的应用程序菜单包含一个“PYTHONPATHpipe理器”。 在这里添加我的path解决了我的问题 “PYTHONPATHpipe理器”在应用程序重新启动时也是持久的。

这是特定于Mac的,因为在我的Windows PC上设置PYTHONPATH环境variables会在Spyder中不使用PYTHONPATHpipe理器的情况下提供预期的行为(可以find模块)。

Mathew的答案适用于terminal的python shell,但是在我的情况下,它并不适用于IDLE shell,因为python的许多版本在我用Python2.7.7replace之前就已经存在了。 我如何解决与IDLE的问题。

  1. 在terminal中, cd /Applications/Python\ 2.7/IDLE.app/Contents/Resources/
  2. 然后sudo nano idlemain.py ,如果需要input密码。
  3. os.chdir(os.path.expanduser('~/Documents'))这一行之后,我添加了sys.path.append("/Users/admin/Downloads....") 注意:用引号replace内容要添加python模块的目录
  4. 保存更改,按Ctrl + X并进入现在打开空闲,并尝试导入python模块,对我来说没有错误!