Python无法找到与pip一起安装的软件包
问题描述:
在Mac上,尝试获取Python 3.6安装程序。Python无法找到与pip一起安装的软件包
Sams-MacBook-Pro:~ samgreenberg$ which pip3
/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3
Sams-MacBook-Pro:~ samgreenberg$ which python3
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3
然后
Sams-MacBook-Pro:~ samgreenberg$ pip3 list
DEPRECATION: The default format will switch to columns in the future.
You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
biopython (1.70)
certifi (2017.7.27.1)
chardet (3.0.4)
cycler (0.10.0)
decorator (4.1.2)
idna (2.6)
ipython-genutils (0.2.0)
jsonschema (2.6.0)
jupyter-core (4.3.0)
matplotlib (2.0.2)
nbformat (4.4.0)
numpy (1.13.1)
olefile (0.44)
Pillow (4.3.0)
pip (9.0.1)
plotly (2.0.15)
pyparsing (2.2.0)
python-dateutil (2.6.1)
pytz (2017.2)
requests (2.18.4)
setuptools (28.8.0)
six (1.10.0)
traitlets (4.3.2)
urllib3 (1.22)
所以biopython似乎安装
Sams-MacBook-Pro:~ samgreenberg$ python3 -m pip install biopython
Requirement already satisfied: biopython in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
Requirement already satisfied: numpy in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from biopython)
肯定安装。
Sams-MacBook-Pro:~ samgreenberg$ python3
Python 3.6.2 (v3.6.2:5fd33b5926, Jul 16 2017, 20:11:06)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib3
>>> import biopython
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'biopython'
>>>
urllib3工作,但不是新安装的软件包。使用pip卸载并重新安装没有效果,当我尝试使用随机的其他软件包时,结果相同。我究竟做错了什么?我对Python或OSX没有特别的经验。我的电脑预装了Python 2.7,但我很小心地在命令中使用Python3。
答
当我们使用一些python模块时,我们通常会写>>> import module
。例如,>>> import urllib3
。但是,一些软件包,包括biopython,不在这个规则之内。您尝试键入>>> import Bio
和>>> print(Bio.__version__)
。请在http://biopython.org/DIST/docs/tutorial/Tutorial.html查询更多详情。
--original answer--
请尝试键入以下脚本:
>>import sys
>>print(sys.path)
我觉得有没有/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
但只有python2
的模块路径。
如果要解决这个问题暂时的,请使用以下命令:
>>sys.path.append("/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages")
请~/.bash_profile
定义PYTHONPATH
并重新启动你的终端,如果你总是使用python3:
PYTHONPATH=/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages:$PYTHONPATH
>>> import sys >>> print(sys.path) ['','/Library/Frameworks/Python.framework/Versions/3.6/lib/ python36.zip', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib- dynload', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site- packages'] – Sam
我误解了什么是biopython。当我们使用一些python模块时,我们通常会编写'>>> import module'。例如,>>> import urllib3'。但是,一些软件包,包括biopython,不在这个规则之内。您尝试输入>>> >>>导入Bio'和>>> print(Bio .__ version __)'。请查看[http://biopython.org/DIST/docs/tutorial/Tutorial.html](http://biopython.org/DIST/docs/tutorial/Tutorial.html)上的更多详细信息。 – montblanc18
非常感谢,我应该阅读文档。我尝试使用Pillow作为测试,结果没有发现该软件包也以不同的名称导入。 – Sam