在mac上安装bigquery

时间:2013-12-13 21:23:23

标签: python python-2.7 google-bigquery osx-mavericks

boo$ bq
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/bin/bq", line 5, in <module>
    from pkg_resources import load_entry_point
  File "build/bdist.macosx-10.6-intel/egg/pkg_resources.py", line 3007, in <module>

  File "build/bdist.macosx-10.6-intel/egg/pkg_resources.py", line 728, in require

  File "build/bdist.macosx-10.6-intel/egg/pkg_resources.py", line 626, in resolve
    ``resolve()`` method. The `fallback` flag indicates whether we should
pkg_resources.DistributionNotFound: pytz>=2010

以下是信息:

boo$ which python
/usr/local/bin/python
boo$ uname -a
Darwin boo-MacBook-Air.local 13.0.0 Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64 x86_64

boo$ which bq
/Library/Frameworks/Python.framework/Versions/2.7/bin/bq
boo$ cd /Library/Frameworks/Python.framework/Versions/2.7/
boo$ ls
Headers     Python      bin     lib
Mac     Resources   include     share
boo$ find . -name pkg_resources.py
./lib/python2.7/site-packages/distribute-0.6.4-py2.7.egg/pkg_resources.py
./lib/python2.7/site-packages/pkg_resources.py

我不知道为什么bq尝试访问pkg_resources.py中的bdist.macosx-10.6-intel。我的系统是10.9。

2 个答案:

答案 0 :(得分:3)

您的问题是您有两个不同的Python 2.7安装,它们共享部分网站包。

特别是,OS X 10.9在/usr/bin/python中附带了Python 2.7.5。你在/usr/local/bin/python中有一个不同的 Python 2.7.x.你已经安装了一些东西,一些用于另一个,有些用于两者。

因此,当您运行bq时,它可能与/usr/bin/python一起运行,因此找不到仅/usr/local/bin/python存在的先决条件,或者它可能与/usr/local/bin/python一起运行因此找不到仅/usr/bin/python存在的先决条件。您没有向我们提供足够的信息以确定哪些情况属实。

解决这个问题的简单方法是不要安装两个不同的Python 2.7。让事情发挥作用并非不可能,但你必须知道自己在做什么,并且要小心,并且知道如何调试出现的所有问题,如果那样你就不会在这里。因此,除非您有充分的理由需要第二个Python 2.7,否则修复很简单:

  • 卸载额外的Python 2.7。 (这样做的方法取决于你如何安装it-python.org安装程序,Homebrew,像Enthought一样的额外电池包,自定义构建,......)
  • 擦除您的网站包。 (当您运行/usr/bin/pythonprint sys.path时,它会显示网站包可以存储的所有目录。)
  • 重新安装您需要的一切。 (你可能想要列出你正在擦除的内容。)

Sticking with Apple's Python 2.7解释了在更多细节中没有两个Python 2.7构建的原因 - 并且还列出了需要执行此操作时的异常。


作为附带问题:

  

我不知道为什么bq尝试访问bdist.macosx-10.6-intel中的pkg_resources.py。我的系统是10.9。

这意味着你的第二个Python被构建为可以在任何OS X 10.6或更高版本上运行(而不是Apple预装的10.9附带版本,只适用于10.9)。那不是问题。 (事实上​​,如果您计划使用例如py2app创建可再发行的二进制应用程序,则必要。)

答案 1 :(得分:0)

感谢abarnert我知道python.org发布了2.7.6版本,Apple在其10.9版本中采用了2.7.5版本。

而不是卸载第三方python,我检查了我安装第三方的工具(brew / port / wget tar文件并安装),然后我使用相同的工具重新安装了python 2.7.6,所有的作品。