添加到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 python
或 which 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很大区别)