导入pymongo在Python解释器中工作,但不是脚本
我首先使用easy_install安装了pymongo,但没有工作,所以我尝试了点,它仍然失败。
终端上没问题:
Macintosh:etc me$ python
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 14:13:39)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pymongo
>>>
但在我的脚本的第10行
import pymongo
抛出以下错误:
在<module>中导入文件“test.py”,第10行,> import pymongo ImportError:没有名为pymongo的模块
我正在使用Apache和Python的标准Lion版本。 有没有人经历过这个?
谢谢
编辑:我也应该提到,在安装过程中会引发以下错误
Downloading/unpacking pymongo
Downloading pymongo-2.1.1.tar.gz (199Kb): 199Kb downloaded
Running setup.py egg_info for package pymongo
Installing collected packages: pymongo
Running setup.py install for pymongo
building 'bson._cbson' extension
gcc-4.0 -fno-strict-aliasing -fno-common -dynamic -arch ppc -arch i386 -g -O2 -DNDEBUG -g -O3 -Ibson -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c bson/_cbsonmodule.c -o build/temp.macosx-10.3-fat-2.7/bson/_cbsonmodule.o
unable to execute gcc-4.0: No such file or directory
command 'gcc-4.0' failed with exit status 1
**************************************************************
WARNING: The bson._cbson extension module could not
be compiled. No C extensions are essential for PyMongo to run,
although they do result in significant speed improvements.
If you are seeing this message on Linux you probably need to
install GCC and/or the Python development package for your
version of Python. Python development package names for popular
Linux distributions include:
RHEL/CentOS: python-devel
Debian/Ubuntu: python-dev
Above is the ouput showing how the compilation failed.
**************************************************************
building 'pymongo._cmessage' extension
gcc-4.0 -fno-strict-aliasing -fno-common -dynamic -arch ppc -arch i386 -g -O2 -DNDEBUG -g -O3 -Ibson -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c pymongo/_cmessagemodule.c -o build/temp.macosx-10.3-fat-2.7/pymongo/_cmessagemodule.o
unable to execute gcc-4.0: No such file or directory
command 'gcc-4.0' failed with exit status 1
**************************************************************
WARNING: The pymongo._cmessage extension module could not
be compiled. No C extensions are essential for PyMongo to run,
although they do result in significant speed improvements.
If you are seeing this message on Linux you probably need to
install GCC and/or the Python development package for your
version of Python. Python development package names for popular
Linux distributions include:
RHEL/CentOS: python-devel
Debian/Ubuntu: python-dev
Above is the ouput showing how the compilation failed.
**************************************************************
然后继续说
Successfully installed pymongo
Cleaning up...
Macintosh:etc me$
很奇怪。
脚本中的我的sys.path返回为:
['/ Library / WebServer / Documents /','/Library/Python/2.7/site-packages/tweepy-1.7.1-py2.7.egg','/System/Library/Frameworks/Python.framework/Versions/ 2.7 / lib / python27.zip','/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7','/System/Library/Frameworks/Python.framework/Versions/2.7/lib/ python2.7 / plat-darwin','/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac','/System/Library/Frameworks/Python.framework/Versions/ 2.7 / lib / python2.7 / plat-mac / lib-scriptpackages','/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python','/ System / Library / Frameworks / Python。 framework / Versions / 2.7 / lib / python2.7 / lib-tk','/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old','/ System / Library / Frameworks / Python.framework / Versions / 2.7 / lib / python2.7 / lib-dynload','/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC','/ Library /的Python / 2.7 /站点包]
在翻译:
['','/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/SQLObject-1.2.1-py2.7.egg','/Library/Frameworks/Python.framework /Versions/2.7/lib/python2.7/site-packages/FormEncode-1.2.4-py2.7.egg','/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site- packages / setuptools-0.6c12dev_r88846-py2.7.egg','/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.1-py2.7.egg',' /Library/Python/2.7/site-packages/tweepy-1.7.1-py2.7.egg','/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip','/ Library / Frameworks /Python.framework/Versions/2.7/lib/python2.7','/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin','/Library/Frameworks/Python.framework /Versions/2.7/lib/python2.7/plat-mac','/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages','/ Library / Frameworks /Python.framework/Versions/2.7/lib/python2.7/lib-tk','/Library/Frameworks/Python.framework/Ver sions / 2.7 / lib / python2.7 / lib-old','/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload','/Library/Frameworks/Python.framework/版本/ 2.7 / lib / python2.7 / site-packages','/Library/Python/2.7/site-packages']
找到了! 在导入pymongo模块之前需要添加路径
sys.path.append('/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages')
import pymongo
理想情况下,想要找到一种方法将其永久追加到pythonpath中,但这种方法现在可行!
我不确定为什么最后一条消息显示“成功安装了pymongo”,但由于您的系统上没有安装gcc,因此显然失败了。 您需要执行以下操作:
RHEL / CentOS:sudo yum install gcc python-devel Debian / Ubuntu:sudo apt-get install gcc python-dev
然后尝试再次安装pymongo。
链接地址: http://www.djcxy.com/p/55267.html上一篇: import pymongo works in Python interpreter but not script
下一篇: multiprocessing.dummy in Python is not utilising 100% cpu