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

2024-06-16 14:00:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有段时间很困惑。我现在无法为我的python35安装/升级任何软件包。 我在mac上有Python27和Python35。 每当我想通过pip安装python包时,就会调用与python2配对的包。在

转到anaconda文件夹(我的python35安装在那里): ls-al |格雷普pip 我得到了结果:

-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文件中,我定义了:

^{pr2}$

当我键入python2时:

$ 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时:

   $ 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

pip 9.0.1 from /Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg (python 2.7)

当pip3-V型

-bash: pip3: command not found

哪个点子

/usr/local/bin/pip

为了重新安装pip3,我下载了get-点对点来自https://pip.pypa.io/en/latest/installing/ 从文档中可以看出,它会根据Python运行脚本的版本安装正确的pip。 所以,我跑了

python get-pip.py 
Requirement already up-to-date: pip in /Users/xxx/anaconda/lib/python3.5/site-packages

下面显示了当我尝试使用pip安装软件包时:

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)

Tags: pip键入packagespip3siteanacondajuldec
3条回答

这就是我最终解决我自己的问题的方法。但这对我来说没有意义。有谁能解释一下为什么它解决了这个问题?在

  1. 我试过贴在这里的解决方案(没用或者我不明白)
  2. 我决定使用conda来安装这个包,因为我的python3是与Anaconda一起安装的,而python2是单独安装的。在
  3. 我发现我的终端听不懂“康达”
  4. 我输入了“export PATH=~/anaconda/bin:$PATH”,根据conda command is not recognized on windows 10
  5. 突然,pip install将包正确地安装到python3上。输入pip-V给我pip3。在

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

python3 -m pip install foo

默认情况下,水蟒附带的pip没有为pip3获取其符号链接。您可以检查您正在使用的pip

which pip

很可能,这不是你安装的Python3的pip。 解决这个问题的方法很简单:自己创建符号链接。由于Anaconda3的二进制文件夹已经在您的路径中(您可以通过which pythonwhich python3来检查),所以您可以转到anaconda3/bin文件夹

^{pr2}$

你也许能看到这样的东西

-rwxrwxr-x 1 youraccount youraccount     120 Jul 13 21:58 pip

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

ls -s pip pip3

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

编辑

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

要将anaconda/bin添加到路径中,首先需要检查bash中的PATH变量是什么样子的

echo $PATH

我想你的打印输出中没有anaconda/bin。否则,您应该能够毫无问题地使用pip3。在

如果您使用所有默认的Python选项,您应该在.bashrc.profile或{}中有这一行

export PATH="/Users/youraccount/anaconda3/bin:$PATH"

如果已经有了这个,运行source .bashrc(或包含该行的文件),您应该能够在PATH中看到{}。在

如果没有把源文件放在那里,或者重新启动文件。另外,删除python3的别名。在

最后,从顶部开始这篇回答文章,为pip创建一个具有您想要的名称的符号链接(比如,pip3

这应该能解决你的问题。在

相关问题 更多 >