首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用pip为python3安装软件包?现在它总是为python2安装

如何使用pip为python3安装软件包?现在它总是为python2安装
EN

Stack Overflow用户
提问于 2017-12-18 05:57:44
回答 5查看 1.3K关注 0票数 2

我已经困惑了一段时间了。我现在不能为我的python35安装/升级任何软件包。我有python27和python35(通过anaconda)在mac上。每当我想通过pip安装python包时,都会调用与python2配对的那个包。

转到anaconda文件夹(安装了我的python35 ):我得到的结果是:

代码语言:javascript
复制
-rwxrwxr-x    1 xx  staff      113 Jul 26  2016 conda-pipbuild
-rwxr-xr-x    1 xx  staff      230 Dec 17 21:40 pip
-rwxr-xr-x    1 xx  staff      230 Dec 17 21:40 pip3
-rwxr-xr-x    1 xx  staff      230 Dec 17 21:40 pip3.5

在我的.bashrc文件中,我定义:

代码语言:javascript
复制
 alias python2=/usr/bin/python2.7
 alias python=~/anaconda/bin/python3.5

输入python2时:

代码语言:javascript
复制
$ python2
Python 2.7.10 (default, Oct 23 2015, 19:19:21) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

输入python时:

代码语言:javascript
复制
   $ python
    Python 3.5.2 |Anaconda custom (x86_64)| (default, Jul  2 2016, 17:52:12) 
    [GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.

类型: pip -V

代码语言:javascript
复制
pip 9.0.1 from /Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg (python 2.7)

当类型pip3 -V

代码语言:javascript
复制
-bash: pip3: command not found

哪个点

代码语言:javascript
复制
/usr/local/bin/pip

为了重新安装pip3,我从https://pip.pypa.io/en/latest/installing/下载了get-pip.py,它说,它将根据Python运行脚本的版本安装正确的pip。所以,我跑了

代码语言:javascript
复制
python get-pip.py 
Requirement already up-to-date: pip in /Users/xxx/anaconda/lib/python3.5/site-packages

下面显示了当我试图安装一个带有pip的软件包时:

代码语言:javascript
复制
pip install tushare --upgrade
Collecting tushare
  Using cached tushare-1.0.7-py2-none-any.whl
Requirement already up-to-date: lxml>=3.8.0 in /Library/Python/2.7/site-packages (from tushare)
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-12-18 06:10:23

在默认情况下,Anaconda附带的pip不会为pip3获得它的符号链接。您可以检查您使用的是哪个pip

代码语言:javascript
复制
which pip

很可能,这不是从你的Anaconda 3安装的点子。修复它的方法非常简单:自己创建符号链接。由于Anaconda3 3的二进制文件夹已经在您的路径中(您可以通过which pythonwhich python3检查它),您可以转到anaconda3/bin文件夹。

代码语言:javascript
复制
ls -al | grep pip

你也许能看到这样的东西

代码语言:javascript
复制
-rwxrwxr-x 1 youraccount youraccount     120 Jul 13 21:58 pip

然后创建指向它的符号链接。

代码语言:javascript
复制
ls -s pip pip3

就这样。您可以再试一次which pip3,看看这是否是您想要引用的pip。

编辑

我注意到您正在使用alias访问Anaconda的python。由于在anaconda/bin下有很多有用的工具,所以有必要将整个文件夹放到您的路径中。同时,如果将来发生任何奇怪的事情,最好删除alias

要将anaconda/bin添加到路径中,首先需要检查bash中的PATH变量的外观

代码语言:javascript
复制
echo $PATH

我想打印出来的任何地方都没有anaconda/bin。否则,您应该能够使用pip3而不会出现问题。

如果您使用anaconda的所有默认选项,则应该在.bashrc.profile.bash_profile中使用这一行。

代码语言:javascript
复制
export PATH="/Users/youraccount/anaconda3/bin:$PATH"

如果您已经拥有这个,运行source .bashrc (或包含行的文件),您应该能够在您的PATH中看到anaconda/bin

如果没有,将行放在那里,并源文件或重新启动终端。另外,删除python3的别名。

最后,从顶部开始这个答案帖子,以创建pip的符号链接,其名称为您想要的名称(例如,pip3)。

这应该能解决你的问题。

票数 2
EN

Stack Overflow用户

发布于 2017-12-18 06:01:52

PIP也是一个python包。你可以用,

代码语言:javascript
复制
python3 -m pip install foo
票数 5
EN

Stack Overflow用户

发布于 2017-12-18 21:37:28

这就是我如何最终解决我自己的问题。但这对我来说毫无意义。谁能帮我解释一下为什么它解决了这个问题?

  1. 我尝试了这里发布的解决方案(没有帮助,或者我不明白)
  2. 我决定使用conda来安装软件包,因为我的python3是用Anaconda安装的,而我的python2是单独安装的。
  3. 我发现我的终端听不懂"conda“
  4. 根据在windows 10上无法识别conda命令。,我输入了"export =~/anaconda/bin:$PATH“
  5. 突然,将软件包安装到python3。输入pip -V给我pip3。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47862840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档