问题描述
抱歉,我对 Python 很陌生,这可能是一个愚蠢的问题。
我已经在 Mac 上安装了 Anaconda,并且一直在使用像 Pandas 这样的基础库。当我尝试在 Ipython 上使用:pip install oauthlib
安装 oauthlib 库时,出现错误:
pip 只能安装在 Ipython 之外。
现在我去mac终端,运行pip3 install oauthlib
,它似乎已经安装了它。但是,当我从 spyder(在 anaconda 中)运行我的代码时。我收到错误没有模块名称'oauthlib'
这是怎么回事?我的代码是否在 anaconda 中运行,并且安装了另一个 python 软件?
解决方法
确保在用于项目的 conda 环境中安装 oauthlib。在终端中执行以下操作:
- 首先创建环境:
conda create --name myenv
- 接下来,激活环境:
conda activate myenv
- 最后,安装 oauth:
pip3 install oauthlib
然后确保您的 IDE 使用正确的 conda 环境。祝你好运!
,Anaconda 的工作方式类似于容器化环境(虚拟环境),它维护自己的库版本和安装的 Python 版本。
如果您在 Mac/Linux 终端上安装了一个 python 库(没有运行“conda activate base”),那么它会将其安装到 Mac 上安装的 Python 本机版本,而不是安装在 Anaconda 上。
如果您希望在本地/Mac 版本的 Python 上运行代码,请转到终端并输入:
pip install oauthlib
然后在终端上运行 python 代码而不切换到 Anaconda(因为 Anaconda 似乎给出了错误)
如果命令“conda”不起作用,运行 conda init
并再次关闭和打开终端应该可以解决问题。
如果它不起作用,您需要找出终端正在使用的 SHELL:
echo $(which SHELL)
输出应该是这样的
/usr/bin/zsh
如果是 zsh,则将其放入以下 zshrc 中,如果是 bash,则其 bashrc 存在于主目录中。
nano ~/.zshrc
or
nano ~/.bashrc
并将其粘贴到文件末尾
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/bitsage/anaconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/bitsage/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/bitsage/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/bitsage/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
,
如果您使用的是 mac,它应该已经安装了...如果没有,请尝试在您的命令提示符中写入:
python get-pip.py