我有以下版本的python
import sys
print(sys.version)
3.6.5 | packaged by conda-forge | (default, Apr 6 2018, 13:44:09)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)]
我使用以下命令安装了一个包
pip install wfdb
它已成功安装,因为当我编写命令时:
pip show wfdb
出现如下信息位置:/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
但是,当我在 Python 笔记本或终端中的 python 版本中键入命令 import wfdb
时,我收到以下消息
No module named 'wfdb'
它与 python 检查包位置的路径有关吗?如何检查它以及如何更改它?
原文由 ecjb 发布,翻译遵循 CC BY-SA 4.0 许可协议
您(至少)安装了 2 个 Python,一个由 Anaconda 管理,另一个似乎是在系统范围内安装的官方 Python.org Mac 版本。命令行上的
pip
命令是与 Python.org Mac 构建相关的命令。pip
是绑定到特定 Python 安装的脚本,可以在不同位置安装多个版本的脚本,通常还安装pipX
和pipX.Y
匹配X.Y
它所绑定的 Python 版本的版本指示符。对于 Python 3.6,这意味着相同的脚本也可以用作pip3
和pip3.6
。 (这也意味着pip
可以连接到 Python 2 或 Python 3,具体取决于您的具体操作系统设置。没有给定的pip
没有版本号,安装到某些答案可能声称是 Python 2.x)。请注意,当您在 shell 中运行没有路径的命令时(例如
pip
与/usr/bin/pip
相对),您是在要求 shell 在数字中为您找到命令位置,列在PATH
环境变量中。然后固定带有该命令的PATH
列表中的第一个位置。which -a <command>
会告诉你所有可能的PATH
可以找到该命令的注册位置。您始终可以使用命令的 完整路径 来绕过PATH
搜索路径。您始终可以验证
pip
命令连接到哪个 Python 版本:这将输出
pip
的版本及其安装位置。它会打印类似的东西其中
pipX.pipY
是 pip 版本号,path/to/pythonX.Y
告诉你这是为了什么 Python 安装。您可以尝试通过运行将其与 Python 版本相匹配
它输出该 Python 版本的 Python 模块搜索路径。 Python can be run with
python
,pythonX
andpythonX.Y
too, and is subject to the samePATH
search.请注意那里的
-m
开关,它指示 Python 在其模块搜索路径中查找模块并将其作为脚本执行。大量模块支持以这种方式运行, 包括pip
。这很重要,因为如果您已经可以启动正确的 Python 版本,这有助于避免搜索更好的pip
命令。您在这里有几个不错的选择:
wfdb
有这样一个包。安装它Anaconda 旨在为您提供更广泛的软件管理体验,其中包括比 Python PyPI 生态系统更广泛的软件选项集,并且 conda 包通常管理的不仅仅是 Python 包。
Conda 包通常由与包本身不同的一组开发人员维护,因此 PyPI 上的可用版本(需要
pip install
)可能比 Conda 上的版本更新。这不是所有 Python 包的选项,如果没有
conda
包,您必须使用pip
。请参阅 安装非 conda 软件包。conda
命令创建 conda 环境。创建环境后,您可以使用更改您的
PATH
设置。在环境“活动”的情况下,您的PATH
上列出的第一个目录是 conda 环境的目录,而pip
命令将是与该环境相关的目录。请注意,conda 环境为特定项目提供了一个隔离环境,使库安装与中央
site-packages
位置中的其余 Python 包分开。如果您想为所有 Anaconda Python 项目安装一个包,请不要使用 conda 环境。使用 Anaconda Python 二进制文件作为模块运行
pip
; when you can run/path/to/python
orpythoncommand
to open the right Python version, you can use that same path to run/path/to/python -m pip ...
instead ofpip ...
绝对确定您安装的是正确的 Python 版本。Look for a better
pip
command, withwhich -a pip
orwhich -a pip3.6
, etc. But if you already know the Python binary, look in the samebin
pip
的位置。如果你有anaconda/bin/python
,那么也可能有一个anaconda/bin/pip
。