当前位置: 首页 > 知识库问答 >
问题:

导入pymongo工作在Python解释器,但不是脚本

勾俊
2023-03-14

我第一次安装pymongo时使用的是easy_install,但它不起作用,所以我尝试使用pip,但仍然失败。

这在航站楼很好:

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

引发以下错误:

文件“test.py”,第10行,

我使用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$  

非常奇怪。

我的系统。脚本中的路径返回为:

['/库/WebServer/Documents/','/库/Python/2.7/site-包/tweepy-1.7.1-py2.7.egg','/系统/库/框架/Python.framework/Versions/2.7/lib/python27.zip','/系统/库/框架/Python.framework/Versions/2.7/lib/python2.7','/系统/库/框架/Python.framework/Versions/2.7/lib/python2.7/plat-darwin','/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac'、'/系统/库/框架/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages'、'/系统/库/框架/Python.framework/Versions/2.7/Extras/lib/python'、'/系统/库/框架/Python.framework/Versions/2.7/lib/python2.7/lib-tk'、'/系统/库/框架/Python.framework/Versions/2.7/lib/python2.7/lib-old','系统/库/框架/Python.framework/Versions/2.7/lib/python2.7/lib-dynload','/系统/库/框架/Python.framework/Versions/2.7/Extras/lib/python/PyObjC','/库/Python/2.7/site包']

在口译员中:

['', '/库/框架/Python.framework/Versions/2.7/lib/python2.7/site-packages/SQLObject-1.2.1-py2.7.egg、/库/框架/Python.framework/Versions/2.7/lib/python2.7/site-packages/FormEncode-1.2.4-py2.7.egg、/库/框架/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-0.6c12dev_r88846-py2.7.egg、/库/框架/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.1-py2.7.egg、/库/Python/2.7/site-包/<--plhd-4/>', '/库/框架/Python.framework/Versions/2.7/lib/python27.zip、/库/框架/Python.framework/Versions/2.7/lib/python2.7、/库/框架/Python.framework/Versions/2.7/lib/python2.7/plat-darwin、/库/框架/Python.framework/Versions/2.7/lib/python2.7/plat-mac、/库/框架/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages、'/库/框架/Python.framework/Versions/2.7/lib/python2.7/lib-tk'、'/库/框架/Python.framework/Versions/2.7/lib/python2.7/lib-old'、'/库/框架/Python.framework/Versions/2.7/lib/python2.7/lib-dynload'、'/库/框架/Python.framework/Versions/2.7/lib/python2.7/site-packages'、'/库/Python/2.7/site包']

共有2个答案

隆飞驰
2023-03-14

我不知道为什么最后一条消息说“成功安装了pymongo”,但它显然失败了,因为您的系统上没有安装gcc。您需要执行以下操作:

RHEL/Centos:sudo-yum安装gcc-python-devel-Debian/Ubuntu:sudo-apt-get安装gcc-python-dev

然后再尝试安装pymongo。

潘智刚
2023-03-14

找到了!在导入pymongo模块之前需要一个路径追加

sys.path.append('/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages')
import pymongo

理想情况下,我想找到一种方法将此永久附加到蟒蛇路径,但这目前有效!

 类似资料:
  • 这在python 3中有效,但在python 2(版本2.7)中会发出一个ImportError: Shell命令: mymodule/__init__.py MyModule/X.py MyModule/y.py 但这只适用于Python3,而不适用于Python2(因为相同的ImportError)。 在Python2中使其工作的唯一方法是使用具有以下不推荐符号的相对导入: 我真的不喜欢它,因

  •   Flask脚本工作的常用方法是: 应用程序的导入路径 或者是Python文件的路径

  • 问题内容: 早上好!最近,我买了一个Arduino开发板来对房间进行“灯光控制”。这是我编写的固件代码: 之后,我使用了Python解释器中的pySerial来控制引脚,一切工作正常。这是一段解释器输出: 然后,我决定编写一个简单的Python脚本来执行相同的操作: 但这根本不起作用!Arduino显示在我启动脚本的过程中收到了一些东西,但是什么也没发生。这是脚本的strace输出: 看起来一切都

  • 问题内容: 我有两种不了解如何在Python中进行导入的特定情况: 第一种具体情况: 当我在两个不同的Python脚本中导入同一模块时,该模块不会被导入两次,对吗?Python第一次遇到它时,将其导入,第二次它是否检查该模块是否已导入,或者是否进行了复制? 第二种具体情况: 考虑以下模块,称为: 然后,我们有个模块,该模块导入: 之后,我们有一个名为的脚本,该脚本由用户执行: 在这里我不知道:返回

  • 嗨,我最近正在研究一个 python 模块(名为 pykiwoom 的包) 我在 conda 32 位环境中安装了一个模块 并尝试导入这个 这工作得很好,当我执行这Python控制台在py魅力 但是,当我在终端中尝试此操作时,会发生错误 包pykiwoom的内部结构如下所示 皮基乌姆 init.py kiwoom.py parser.py 有人能告诉我为什么会出现这个错误吗?

  • 我在让openpyxl写入Excel文件时遇到了一个问题,当我在PyCharm Python控制台中运行以下代码时,它可以正常工作,但是当我创建 C:\Users\David\PycharmProjects\VirtualEnv1\VirtualEnv1\Scripts\python。exe C:/Python27/virtualenv-15.0。1/虚拟/测试。py回溯(最后一次调用):文件“C