Python 从Anaconda访问pip包

Python 从Anaconda访问pip包,python,pip,anaconda,Python,Pip,Anaconda,我最近更新了macOS版本,不得不重新安装Anaconda。我一直试图通过pip安装软件包,这样无论是使用Anaconda(特别是Spyder)还是在终端中执行文件(没有Anaconda,例如python myfile.py),都可以访问这些软件包。但是,重新安装后,Anaconda似乎无法访问通过pip安装的软件包,而不是通过conda安装的软件包 我知道我可以在Anaconda中激活给定的环境,然后使用pip为该环境安装软件包,但我正在寻找对软件包的全局访问权限,这样我就不必多次安装软件包

我最近更新了macOS版本,不得不重新安装Anaconda。我一直试图通过
pip
安装软件包,这样无论是使用Anaconda(特别是Spyder)还是在终端中执行文件(没有Anaconda,例如
python myfile.py
),都可以访问这些软件包。但是,重新安装后,Anaconda似乎无法访问通过
pip
安装的软件包,而不是通过
conda
安装的软件包

我知道我可以在Anaconda中激活给定的环境,然后使用
pip
为该环境安装软件包,但我正在寻找对软件包的全局访问权限,这样我就不必多次安装软件包

是否有一种变通方法,可以普遍访问
pip


编辑:当我在macOS上安装Python3时,我遵循了这里的指南:。

您似乎在Spyder和terminal中使用不同的Python安装。因此,终端中安装有
pip
的软件包在Spyder中将不可见,反之亦然。如果您想访问这两个包中的相同包,最好的解决方案是在终端中激活Anaconda Python(或其特定的conda环境)


通过运行
conda init
(它将把激活命令包含到您的
~/.bashrc
文件中),您可以在终端中自动激活Anaconda。

我以前也遇到过同样的问题。我只是分享我的解决方案。如果你认为这是没有帮助的。你可以留下评论,然后我可以删除答案

写在前面,我的解决方案放弃了anaconda pip和默认系统pip。如果你只是想用蟒蛇。然后把我的解决方案作为知识补充阅读,或者跳过我的答案

在我看来,您需要一种控制python环境的方法。然后,您可以在任何计算机上构建相同的环境

首先,使用anaconda管理python版本

你可以用

conda create --name python3.6 python=3.6
创建特定的python

然后使用

conda activate python3.6
激活指定版本的python3.6。您可以将其添加到.bashrc以自动激活特定版本

第二,安装虚拟环境管理工具。我通常使用pipenv。通过以下方式安装它:

pip install pipenv
第三,为您的项目创建虚拟环境

cd your project folder
pipenv shell
pipenv install --skip-lock your package
然后你会看到它在你的项目下生成了一个PIP文件。如果您通过将项目上传到github或其他方式保留它。然后,您可以在任何机器上构建虚拟环境,如下所示:

  • 安装康达
  • 激活特定版本的python并安装pipenv
  • git克隆您的项目并将cd放入其中
  • 管壳
  • pipenv安装—跳过锁定

  • 然后,您将获得与pip文件相同的环境。

    您使用的是相同的python版本吗?是的,我可以运行
    pip--version
    ,它显示:
    /Users/myusername/.pyenv/versions/3.8.3/lib/python3.8/site-packages/pip(python 3.8)
    。然后在Spyder中运行
    sys.version
    ,它也显示
    3.8.3
    。如果有帮助的话,下面是我为确保我使用的是Python 3而不是Python 2而遵循的指南:尝试
    conda install pip
    (一次),然后
    pip install
    。请参阅中的“安装非康达软件包”。如果您遵循此图腾,请参阅其右侧。可能您必须从以前的conda env导出模块,然后在新的conda env上导入。我尝试卸载该软件包,运行
    conda install pip
    ,然后重新安装,但仍然出现相同的错误。我用
    pip list
    验证了软件包安装在正确版本的pip中。是否有方法1)将终端默认为Anaconda安装(不中断任何操作)或2)从Spyder访问终端安装?我现在主要是想节省空间,因为有些包(例如tensorflow)相当大。我还从节点子进程运行了一些文件,但我在Spyder中编辑/测试了它们,尽管我想我可以尝试通过子进程激活Anaconda。我想你想要的是创建一个新的conda环境,在其中安装Spyder和tensorflow。这样tensorflow安装就不会破坏系统Python。当您想要使用tensorflow时,首先激活终端中的conda环境。如果要使用Spyder,可以使用命令
    Spyder
    启动它。