Python 从Anaconda访问pip包
我最近更新了macOS版本,不得不重新安装Anaconda。我一直试图通过Python 从Anaconda访问pip包,python,pip,anaconda,Python,Pip,Anaconda,我最近更新了macOS版本,不得不重新安装Anaconda。我一直试图通过pip安装软件包,这样无论是使用Anaconda(特别是Spyder)还是在终端中执行文件(没有Anaconda,例如python myfile.py),都可以访问这些软件包。但是,重新安装后,Anaconda似乎无法访问通过pip安装的软件包,而不是通过conda安装的软件包 我知道我可以在Anaconda中激活给定的环境,然后使用pip为该环境安装软件包,但我正在寻找对软件包的全局访问权限,这样我就不必多次安装软件包
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或其他方式保留它。然后,您可以在任何机器上构建虚拟环境,如下所示:
然后,您将获得与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
启动它。