我一直在尝试根据此帖Permanently add a directory to PYTHONPATH上的建议向PYTHONPATH
添加自定义目录。我在Mac上使用bash,如果相关的话。这就是我所做的:
open ~/.bash_profile
export PYTHONPATH="${PYTHONPATH}:/Users/Zhengnan/Library/Python/2.7/lib/python/site-packages"
并保存source ~/.bash_profile
有两个问题:
sys.path
时,预期的目录仍未显示。sys.path
时,dir确实出现了,但所有其他目录都与我从上一步得到的不匹配。具体来说,这就是我在IDE中运行sys.path
所得到的。无法找到预定的目录。
sys.path中 ['&#39 ;, ' /Applications/Spyder-Py2.app/Contents/Resources' ;, ' /Applications/Spyder-Py2.app/Contents/Resources/lib/python27.zip' ;, ' /Applications/Spyder-Py2.app/Contents/Resources/lib/python2.7' ;, ' /Applications/Spyder-Py2.app/Contents/Resources/lib/python2.7/plat-darwin' ;, ' /Applications/Spyder-Py2.app/Contents/Resources/lib/python2.7/plat-mac' ;, ' /Applications/Spyder-Py2.app/Contents/Resources/lib/python2.7/plat-mac/lib-scriptpackages' ;, ' /Applications/Spyder-Py2.app/Contents/Resources/lib/python2.7/lib-tk' ;, ' /Applications/Spyder-Py2.app/Contents/Resources/lib/python2.7/lib-old' ;, ' /Applications/Spyder-Py2.app/Contents/Resources/lib/python2.7/lib-dynload' ;, ' /Applications/Spyder-Py2.app/Contents/Resources/lib/python2.7/site-packages.zip' ;, ' /Applications/Spyder-Py2.app/Contents/Resources/lib/python2.7/site-packages' ;, ' /Applications/Spyder-Py2.app/Contents/Resources/lib/python2.7/IPython/extensions' ;, ' /Users/Zhengnan/.ipython']
这就是我从终端运行sys.path
时获得的。预期的目录是列表中的第三个元素。
sys.path中 ['',' /用户/ Zhengnan',' /Users/Zhengnan/Library/Python/2.7/lib/python/site-packages',&# 39; /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip' ;,' /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7& #39;,' /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin' ;,' /System/Library/Frameworks/Python.framework /Versions/2.7/lib/python2.7/plat-mac' ;,' /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages& #39;,' /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python' ;,' /System/Library/Frameworks/Python.framework/Versions/2.7 /lib/python2.7/lib-tk',' /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old' ;,' /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload' ;,' /System/Library/Frameworks/Python.framework/Versions/2.7/Extras / LIB /蟒/ PyObjC']
我应该提一下,我想将此自定义目录添加到PYTHONPATH
的原因是每次pip install
一个包时,它都会安装在/Users/Zhengnan/Library/Python/2.7/lib/python/site-packages
中,而我不会{每次运行脚本时都要sys.path.append
。请指教。感谢。
答案 0 :(得分:2)
这里有很多事情发生。
从根本上说,您在IDE中使用的Python不是您在终端中使用的Python。这就是var endRow = sheet.getRange("B5").getValue() + 9;
var formula = "=arrayformula(if(ISBLANK(Grades!A9:A" + endRow + ",, vlookup(Grades!A9:A" + endRow + ", Grades!A9:G" + endRow + ", 4, FALSE)))";
sheet.getRange("A2").setFormula(formula);
没有把东西放在正确位置的原因。
最简单的解决方案就是修改您的pip install
环境变量,这样当您在终端中键入$PATH
时,您将获得与IDE使用的版本相同的版本。我的猜测是你的IDE python
类似于python
,在这种情况下你会摆脱/Applications/Spyder-Py2.app/Contents/Resources/bin/python
设置你的PYTHONPATH
并添加:
.bash_profile
假设export PATH="/Applications/Spyder-Py2.app/Contents/Resources/bin:$PATH"
在同一个地方可用,您现在应该可以pip
一些事情,而无需使用pip install
进行捣乱。
这里的另一个问题是在shell中设置的环境变量(例如,在PYTHONPATH
中)对应用程序可见的环境没有影响。 可能设置OS X应用程序可见的环境变量(例如,参见this question),但它很棘手,我不建议。
备用解决方案(如果可用)只是告诉您的IDE应该使用哪个.bash_profile
,并将其指向终端中可见的任何一个。