我想使用PTVS (Python Tools for Visual Studio)开发一个应用程序,我下载了PTVS插件和Visual Studio2012的IronPython,它工作得很好。
我的问题是,
我可以在PTVS和ItonPython上使用MongoDB吗?
如果我可以,我该怎么做呢?
我已经尝试通过点击Install Python Package来安装它,但是每次都会要求我安装pip,并且安装失败。当然,命令pip install pymongo会失败,因为没有安装pip。
下面是错误:
Installing 'pip' package manager.
Downloading setuptools from https://go.microsoft.com/fwlink/?LinkId=317603
Installing from setuptools-2.2
<string>:1: DeprecationWarning: object.__init__() takes no parameters for type KeyedRef
running install
Traceback (most recent call last):
File "setup.py", line 202, in <module>
File "C:\Program Files (x86)\IronPython 2.7\Lib\distutils\core.py", line 151, in setup
File "C:\Program Files (x86)\IronPython 2.7\Lib\distutils\dist.py", line 952, in run_commands
File "C:\Program Files (x86)\IronPython 2.7\Lib\distutils\dist.py", line 971, in run_command
File "c:\users\dservicio1\appdata\local\temp\ptvs-zwgdmk-setuptools\setuptools- 2.2\setuptools\command\install.py", line 64, in run
AttributeError: 'module' object has no attribute '_getframe'Traceback (most recent call last):
File "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\Python Tools for Visual Studio\2.0\pip_downloader.py", line 61, in <module>
File "C:\Program Files (x86)\IronPython 2.7\Lib\subprocess.py", line 512, in check_call
subprocess.CalledProcessError: Command '['C:\\Program Files (x86)\\IronPython 2.7\\ipy.exe', 'setup.py', 'install']' returned non-zero exit status 1
'pip' failed to install. Exit code: 1
Installing 'pymongo'
Unhandled exception:
Traceback (most recent call last):
File "C:\Program Files (x86)\IronPython 2.7\Lib\runpy.py", line 170, in run_module
File "C:\Program Files (x86)\IronPython 2.7\Lib\runpy.py", line 103, in _get_module_details
ImportError: No module named pip
'pymongo' failed to install. Exit code: 1有什么建议吗?
谢谢!
发布于 2014-03-01 03:52:21
不幸的是,IronPython对pip和setuptools的支持仍然不稳定。您可以尝试通过these instructions手动配置pip,然后您应该能够从PTVS安装软件包,但并不是所有的软件包都能与那些旧版本的setuptools一起工作。
此外,许多包不能与IronPython一起工作,句号。基本上,如果包中包含任何本机代码(.pyd文件),它将无法工作,因为IronPython不实现CPython扩展API。我怀疑PyMongo将会是其中之一。
有什么特别的原因让你尝试使用IronPython来做这件事吗?请注意,PTVS完全支持常规Python。
发布于 2014-03-01 17:47:24
您可以尝试从源代码安装。下载源码tarball,解压并找到setup.py。
ipy.exe setup.py install或者如果您希望保持系统位置整洁
ipy.exe setup.py install --user您很可能会发现丢失的依赖项,您必须手动解决这些依赖项。
看起来它甚至可能起作用:http://api.mongodb.org/python/current/installation.html#installing-without-c-extensions
发布于 2014-10-31 03:20:55
您可能无法将pymongo与IronPython一起使用,但您可以使用IronPython提供的用于MongoDB的C#/.NET驱动程序。
有关驱动程序的信息是here。如本链接所述,您可以使用nuget (PM> Install-Package mongocsharpdriver)进行安装,也可以直接下载dlls。
安装后,您可以在IronPython中以正常方式使用程序集:
# Add reference to the Mongo C# driver
import clr
clr.AddReferenceToFileAndPath("MongoDB.Bson.dll")
clr.AddReferenceToFileAndPath("MongoDB.Driver.dll")然后根据MongoDB C# Driver API使用,例如:
# Get the MongoDB database
from MongoDB.Driver import MongoClient
client = MongoClient("mongodb://localhost")
server = client.GetServer()
database = server.GetDatabase("test")
# Get a collection
collection = database.GetCollection("users")
# Add a document
from MongoDB.Bson import BsonDocument
user = BsonDocument({'first_name':'John', 'last_name':'Smith'})
collection.Insert(user)有关详细信息,请参阅MongoDB C# Driver API。
https://stackoverflow.com/questions/22099096
复制相似问题