Spa*_*cey 12 python macos numpy pip package-managers
我的问题是pip不会更新我的Python包,即使没有错误.
它与此类似,但我现在仍然确定该怎么做.基本上,即使在通过pip更新所有内容之后,我的所有python包都显得过时了.以下是详细信息:
使用它,我有:
即便在我尝试之后:
sudo pip uninstall numpy
Run Code Online (Sandbox Code Playgroud)
其次是:
sudo pip install numpy
Run Code Online (Sandbox Code Playgroud)
它们都成功完成,但是当我进入python并检查numpy的版本时,它仍然是旧版本.(和所有其他包一样).
不确定这里发生了什么?......如何解决这个问题?PS我是新手,所以我可能需要明确的指示.谢谢.此外,如果有人想要,我可以提供pip的屏幕截图,因为它正在安装numpy.
编辑:
我根据评论运行的命令:
$which -a pip
/usr/local/bin/pip
$ head -1 $(which pip)
#!/usr/bin/python
$ which -a python
/usr/bin/python
Run Code Online (Sandbox Code Playgroud)
aba*_*ert 14
在OS X 10.9中,Apple的Python在一个名为的目录中附带了一堆预先安装的额外软件包/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python.包括numpy.
它们的安装方式(好像通过使用easy_install古老的0.7之前的版本setuptools,但没有进入任何一个正常easy_install目的地),pip对它们一无所知.
那么,什么情况是,sudo pip install numpy安装一个单独的副本numpy到'/Library/Python/2.7/site-packages'你的-但是sys.path,该Extras目录涉及的前site-packages目录,所以import numpy仍然认为苹果的副本.我不确定为什么会这样,但它可能不是你想要的东西.
那么,你如何解决这个问题呢?
两个最佳解决方案是:
使用virtualenv并将您numpy和朋友安装到虚拟环境中,而不是系统范围内.这有一个缺点,你必须学习如何使用virtualenv- 但这在某些时候绝对值得做,如果你有时间现在学习它,那就去吧.
从python.org安装程序或Homebrew升级到Python 3.x. Python 3.4或更高版本附带pip,并没有任何pip不友好的预安装包.并且,与安装单独的2.7不同,它根本不会干扰Apple的Python; python3并且python,pip3和pip等,都将是单独的程序,而不必了解PATH如何工作或任何的事情.这有一个缺点,你必须学习Python 3.x,它有一些重大的变化,所以再次,一点学习曲线,但再次,绝对值得在某一点做.
假设这些都不可能,我认为最简单的选择是使用easy_install而不是为pip你想安装任何Apple的"额外"的新版本的软件包.你可以通过查看内容来获得完整的列表/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python.当你升级numpy,你可能还需要升级scipy和matplotlib; 我认为其他一切都是无关紧要的.(你当然可以升级PyObjC或者dateutil你关心的任何其他事情,但你不必这样做.)
这不是一个理想的解决方案; 有很多的原因,easy_install不如pip(例如,没有卸载程序,所以你不得不记住的是/Library/blah/blah路径(或打印出来再次找到它sys.path从内Python)的.通常我不会建议easy_install对除了readline和pip它本身的任何东西(然后只有苹果的Python).但在这种情况下,我认为它比其他替代品更简单.
| 归档时间: |
|
| 查看次数: |
21400 次 |
| 最近记录: |