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

40

我似乎无法正确使用sudo pip install命令将其安装到以下目录:

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/
为了能够使用Python导入该模块,我需要这样做。
我已经运行过。
sudo pip install scikit-learn --upgrade

结果

Requirement already up-to-date: scikit-learn in /usr/local/lib/python2.7/site-packages
Cleaning up...

然而,它不在正确的目录中。

我如何让sudo pip install安装到正确的目录?

此外,我已经尝试过:

sudo pip install 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)

这两个例子都表明软件已经被安装,但并不正确。例如,当我在Python中运行以下导入命令时:

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

ImportError: No module named scrapy

我尝试过以下方法:

sudo ln -s /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/

你需要运行已安装的pip,以便使用你想要的Python安装版本。也就是说,你可能安装了不止一个Python版本......请检查当前正在使用的Python版本是否为Framework,或者其他版本,并且在你想要使用的Python安装目录中使用pip,它应该位于“bin”目录下。 - dfranca
你如何检查是否正在作为框架运行Python? - Chris
1
输入 "type python" 可以查看你正在运行 Python 的位置。然后输入 "ls -l <带有完整路径的 Python>" 来检查它是否是指向另一个位置的链接。 你可能想要运行位于 /Library/Frameworks/Python.framework/Versions/2.7/bin/python 的那个。 - dfranca
谢谢 - 你说得对,因为我从 "type python" 得到了 "/usr/local/bin/python"。我该如何删除它或者至少让 sudo pip install 始终进入 "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/"?换句话说,我该如何运行安装在我想要的 Python 版本中的 pip? - Chris
2
你可以创建一个指向所需Python版本的链接。例如:sudo ln -s /usr/bin/python /Library/Frameworks/Python.framework/Versions/2.7/bin/python但是,我建议你从框架中运行pip,它可能在路径/Library/Frameworks/Python.framework/Versions/2.7/bin/pip中。因此,请键入/Library/Frameworks/Python.framework/Versions/2.7/bin/pip install <the lib>。 - dfranca
显示剩余4条评论
11个回答

-3

您应该先卸载已有的Python,然后下载新版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接