[英]IPython sys.path different from python sys.path
我通常使用IPython,并且最近才注意到常规python shell中导入的搜索路径是错误的。 根据我的理解,sys.path继承自PYTHONPATH(虽然我不知道PYTHONPATH住在哪里),这在IPython中是不同的? 我担心这个有影响的装置。 比如我刚尝试过
pip install --upgrade gensim
失败,因为它无法解决我已经安装的scipy依赖项。 所以我在Ipython中找到了更深入的鸽子
import gensim
gensim.__version__
在python中返回.9.1
import gensim
gensim.__version__
返回.8.9
以下是Ipython版本的sys.path的样子:
['',
'/Users/change/anaconda/bin',
'/Users/change/anaconda/lib/python2.7/site-packages/pybing-0.12-py2.7.egg',
'/Users/change/anaconda/lib/python2.7/site-packages/httplib2-0.8-py2.7.egg',
'/Users/change/anaconda/python.app/Contents/lib/python27.zip',
'/Users/change/anaconda/python.app/Contents/lib/python2.7',
'/Users/change/anaconda/python.app/Contents/lib/python2.7/plat-darwin',
'/Users/change/anaconda/python.app/Contents/lib/python2.7/plat-mac',
'/Users/change/anaconda/python.app/Contents/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/change/anaconda/python.app/Contents/lib/python2.7/lib-tk',
'/Users/change/anaconda/python.app/Contents/lib/python2.7/lib-old',
'/Users/change/anaconda/python.app/Contents/lib/python2.7/lib-dynload',
'/Users/change/anaconda/lib/python2.7/site-packages',
'/Users/change/anaconda/lib/python2.7/site-packages/PIL',
'/Users/change/anaconda/lib/python2.7/site-packages/pygoogle',
'/Users/change/anaconda/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info',
'/Users/change/anaconda/lib/python2.7/site-packages/IPython/extensions']
和常规的python脚本sys.path:
['',
'/Users/change/anaconda/lib/python2.7/site-packages/pybing-0.12-py2.7.egg',
'/Users/change/anaconda/lib/python2.7/site-packages/httplib2-0.8-py2.7.egg',
'/Users/change/anaconda/lib/python27.zip',
'/Users/change/anaconda/lib/python2.7',
'/Users/change/anaconda/lib/python2.7/plat-darwin',
'/Users/change/anaconda/lib/python2.7/plat-mac',
'/Users/change/anaconda/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/change/anaconda/lib/python2.7/lib-tk',
'/Users/change/anaconda/lib/python2.7/lib-old',
'/Users/change/anaconda/lib/python2.7/lib-dynload',
'/Users/change/anaconda/lib/python2.7/site-packages',
'/Users/change/anaconda/lib/python2.7/site-packages/PIL',
'/Users/change/anaconda/lib/python2.7/site-packages/pygoogle',
'/Users/change/anaconda/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info']
你现在可能已经太迟了,但这里的答案也可能对你有所帮助: ipython读取错误的python版本 。 基本上ipython脚本可以直接引用特定的python二进制文件,而不是你直接运行python时得到的那个。
我在我的mac上安装了一个brew版本的Python。 由于某些原因无法使用系统库。 在brew uninstall python
它再次工作,因为默认的python被切换回/ usr / bin / python。
还在玩which python
, which ipython
和打开/ usr / bin / python,/ usr / local / bin / python,/ usr / bin / ipython和/ usr / local / bin / ipython并在那里进行导入可能有帮助你会发现它究竟出了什么问题。
您可能已激活虚拟环境而忽略系统路径。
可以通过在终端中运行它来修复它(关闭笔记本等之后):
virtualenv --system-site-packages ~
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.