添加到python路径mac os x

Posted

技术标签:

【中文标题】添加到python路径mac os x【英文标题】:Add to python path mac os x 【发布时间】:2011-03-24 04:40:52 【问题描述】:

我想

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

正在向我的 pythonpath 附加一个目录

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

然后我打开一个新命令,它不再存在了。

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

我做错了什么?

我读过 .profile 或 .bash_profile 就可以了。

需要补充吗:

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

让它发挥作用?

【问题讨论】:

$PYTHONPATH 对我来说不存在...这正常吗? 【参考方案1】:

sys.path 的修改仅适用于该 Python 解释器的生命周期。如果你想永久这样做你需要修改PYTHONPATH环境变量:

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

注意PATH是可执行文件的系统路径,是完全独立的。

**上面的内容可以写在~/.bash_profile中,源代码使用source ~/.bash_profile

【讨论】:

非常感谢(忘记了)。我把那个放在哪里?在 .bash_profile 中的 .profile 中? Before Macpython?: # Setting PATH for MacPython 2.6 # 原始版本保存在 .bash_profile.pysave PATH="/Library/Frameworks/Python.framework/Versions/2.6/bin:$PATH" export PATH 还是在那之后?顺序重要吗? .bash_profile。如果你已经有了.bash_profile,我相信bash 会忽略.profile。顺序在这里并不重要,因为它们是两个不同的环境变量。 @Felix,注意他的 MacPython 代码处理的是 PATH(系统路径),一个单独的变量。 所以我确实添加了 PYTHONPATH "path:$PYTHONPATH" export PYTHONPATH 并且在我重新启动计算机后它工作了。非常感谢 Matthew 和 Felix! /Me/Documents/mydir 在哪里?我的系统上没有那个文件夹,并且 $PYTHONPATH 是空的【参考方案2】:

不知道为什么 Matthew 的解决方案对我不起作用(可能是我使用的是 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', ...  

我可以从那个目录导入模块。

【讨论】:

在 Mac Osx 终端上,如果我简单地编写 python,那么它将进入 python 2.7,如果我编写 python3.6,那么它会打开 3.6 版本。我能做些什么来将 python 指向 python3.6 你必须在你的 .bash_profile 中创建一个别名。 $PYTHONPATH 对我来说不存在...这正常吗?【参考方案3】:

Mathew 的答案适用于终端 python shell,但在我的情况下它不适用于 IDLE shell,因为在我将它们全部替换为 Python2.7.7 之前存在许多版本的 python。 我如何解决 IDLE 的问题。

    在终端,cd /Applications/Python\ 2.7/IDLE.app/Contents/Resources/ 然后sudo nano idlemain.py,如果需要输入密码。 在os.chdir(os.path.expanduser('~/Documents'))这一行之后,我添加了sys.path.append("/Users/admin/Downloads....") 注意:将引号中的内容替换为要添加python模块的目录 要保存更改,请按 ctrl+x 并输入 现在打开idle并尝试导入python模块,对我来说没有错误!!!

【讨论】:

【参考方案4】:

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

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

【讨论】:

【参考方案5】:

在 MacOS Big Surf 上,添加“导出”的文件是 $HOME/.zprofile

因此,这应该适用于将 PYTHONPATH 添加到您的 Mac Big Surf 环境变量:

export PYTHONPATH=$HOME/my_folder

如果文件不存在,只需在$HOME 中创建它,通常是/Users/my_user_name

文件名的这种变化是因为 MacOS Big Surf 的默认 shell 是 zsh 而不是 bash

【讨论】:

【参考方案6】:

在 MAC OS 上,您可以使用命令 which pythonwhich python3 简单地找到 python/python3 的位置。 (也适用于 Linux)

它应该给出如下内容:

对于蟒蛇

/usr/local/bin/python

对于python3

/Library/Frameworks/Python.framework/Versions/3.9/bin/python3

将路径导出到您的bash_profile

在您的终端类型中

sudo nano ~/.bash_profile

输入您的密码并粘贴以下行

PYTHONPATH="/Library/Frameworks/Python.framework/Versions/3.9/bin/python3"
export PYTHONPATH

control + x退出,在被要求保存时按y保存

按`enter'返回终端窗口

在终端中使用以下命令获取它,运行

source ~/.bash_profile

python3 的路径现在应该更新了!!

【讨论】:

以上是关于添加到python路径mac os x的主要内容,如果未能解决你的问题,请参考以下文章

如何将Mac OS X10.9下的Python2.7升级到最新的Python3.3

PythonWindows, Linux/UNIX, Mac OS X 下安裝 Python

Mac OS X中Launchpad的图标添加删除方法(添加方法别试了,和Linux很大区别)

从 CoreData 检索 NSImage - Mac OS X

恢复存储在应用程序照片中的文件夹路径图像(Mac OS)

Xcode 无法添加 Mac OS X 服务器