Pip安装没有安装到正确的目录?

Chr*_*ris 25 python bash installation pip

我似乎无法正确使用sudo pip安装,因此它安装到以下目录中:

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/
Run Code Online (Sandbox Code Playgroud)

这样我就可以使用python导入模块了

我跑了

sudo pip install scikit-learn --upgrade
Run Code Online (Sandbox Code Playgroud)

结果

Requirement already up-to-date: scikit-learn in /usr/local/lib/python2.7/site-packages
Cleaning up...
Run Code Online (Sandbox Code Playgroud)

但是,它不在正确的目录中

如何将sudo pip install安装到正确的目录中?

另外,我试过了

sudo pip安装Scrappy

我收到以下消息

new-host-2:site-packages Chris$ sudo pip install Scrapy
Password:
Requirement already satisfied (use --upgrade to upgrade): Scrapy in /usr/local/lib/python2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): Twisted>=10.0.0 in /usr/local/lib/python2.7/site-packages (from Scrapy)
Requirement already satisfied (use --upgrade to upgrade): w3lib>=1.8.0 in /usr/local/lib/python2.7/site-packages (from Scrapy)
Requirement already satisfied (use --upgrade to upgrade): queuelib in /usr/local/lib/python2.7/site-packages (from Scrapy)
Requirement already satisfied (use --upgrade to upgrade): lxml in /usr/local/lib/python2.7/site-packages (from Scrapy)
Requirement already satisfied (use --upgrade to upgrade): pyOpenSSL in /usr/local/lib/python2.7/site-packages (from Scrapy)
Requirement already satisfied (use --upgrade to upgrade): cssselect>=0.9 in /usr/local/lib/python2.7/site-packages (from Scrapy)
Requirement already satisfied (use --upgrade to upgrade): six>=1.5.2 in /usr/local/lib/python2.7/site-packages (from Scrapy)
Requirement already satisfied (use --upgrade to upgrade): zope.interface>=3.6.0 in /usr/local/lib/python2.7/site-packages (from Twisted>=10.0.0->Scrapy)
Requirement already satisfied (use --upgrade to upgrade): cryptography>=0.2.1 in /usr/local/lib/python2.7/site-packages (from pyOpenSSL->Scrapy)
Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/local/lib/python2.7/site-packages (from zope.interface>=3.6.0->Twisted>=10.0.0->Scrapy)
Requirement already satisfied (use --upgrade to upgrade): cffi>=0.8 in /usr/local/lib/python2.7/site-packages (from cryptography>=0.2.1->pyOpenSSL->Scrapy)
Requirement already satisfied (use --upgrade to upgrade): pycparser in /usr/local/lib/python2.7/site-packages (from cffi>=0.8->cryptography>=0.2.1->pyOpenSSL->Scrapy)
Run Code Online (Sandbox Code Playgroud)

这两个实例都证明它已安装但不正确.例如,当我在python中运行以下导入时:

import scrapy
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-6-51c73a18167b> in <module>()
----> 1 import scrapy

ImportError: No module named scrapy
Run Code Online (Sandbox Code Playgroud)

我尝试过以下方法:

sudo ln -s /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/
Run Code Online (Sandbox Code Playgroud)

Roy*_*012 28

从评论到原始问题,似乎你安装了多个版本的Python,而pip只是错误的版本.

首先,要知道您正在使用哪个版本的python,只需输入which python.你应该看到:

which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
Run Code Online (Sandbox Code Playgroud)

如果你要使用正确版本的python,或者:

which python
/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

如果你要去'错'的版本.要使pip转到正确的版本,首先必须更改路径:

 export PATH=/Library/Frameworks/Python.framework/Versions/2.7/bin/python:${PATH}
Run Code Online (Sandbox Code Playgroud)

输入'which python'现在可以获得正确的结果.接下来,安装pip(如果尚未安装这个python的安装).最后,使用它.你现在应该没事.

  • 请注意,运行"python -m pip"更容易,以确保您使用pip正确版本的Python. (16认同)

Jab*_*bda 5

这就是在 Windows 上对我有用的方法。原因是多个 python 安装

  1. 使用正确的python更新路径
  2. 使用卸载 pip python -m pip uninstall pip setuptools
  3. 重新启动 Windows直到重新启动才起作用