将路径添加到Python中 macOS
我原以为
import sys
sys.path.append("/home/me/mydir")
是把一个文件夹加到我的python路径里。
如果我打印出sys.path,发现我的文件夹在里面。
可是我打开一个新的命令窗口时,它又不见了。
但不知怎么的,Python却无法导入我保存在那个文件夹里的模块。
我到底哪里做错了呢?
我听说修改.profile或.bash_profile可以解决这个问题。
我需要加上:
PATH="/Me//Documents/mydir:$PYTHONPATH"
export PATH
才能让它工作吗?
8 个回答
11
我不太明白为什么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', ...
我可以从那个目录导入模块了。
26
在MAC OS上,你可以通过输入命令 which python
或 which python3
来找到python或python3的位置。(这个方法在Linux上也可以用)
执行后,它会给你类似这样的结果:
对于python
/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的路径应该已经更新了!!
99
对 sys.path
的修改只在当前的 Python 解释器运行期间有效。如果你想让这个修改永久生效,就需要修改 PYTHONPATH
环境变量:
PYTHONPATH="/Me/Documents/mydir:$PYTHONPATH"
export PYTHONPATH
需要注意的是,PATH
是用来存放可执行文件的系统路径,这个和 PYTHONPATH
是完全不同的。
**你可以把上面的内容写进 ~/.bash_profile
文件里,然后用 source ~/.bash_profile
命令来使其生效。