2014-02-28 4 views
2

PTVS (Visual Studio 용 Python 도구)를 사용하여 응용 프로그램을 개발하고 Visual Studio 2012 용 PTVS pluging 및 IronPython을 다운로드하면 완벽하게 작동합니다.PTVS, IronPython 및 MongoDB 작업

내 질문은 여기가

내가 PTVS 및 ItonPython와 MongoDB를 사용할 수있다?

내가 할 수 있다면 어떻게 할 수 있습니까?

이미 Install Python Package을 클릭하여 설치를 시도했지만 언제든지 pip을 설치하라는 메시지가 표시되고 설치가 실패합니다. 그런 다음 pip가 설치되어 있지 않으므로 명령 pip install pymongo이 실패합니다.

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 

어떤 제안 : 여기

오류인가?

감사합니다.

답변

4

불행하게도, IronPython은 pip와 setuptools를 지원하지 않습니다. these instructions을 따라 수동으로 pip를 설정하면 PTVS에서 패키지를 설치할 수 있지만 모든 패키지가 이전 버전의 setuptools에서 작동하지는 않습니다.

또한 IronPython에서는 많은 패키지가 작동하지 않습니다. 기본적으로 IronPython이 CPython 확장 성 API를 구현하지 않기 때문에 패키지에 기본 코드 (.pyd 파일)가 있으면 작동하지 않습니다. 나는 PyMongo가 그 중 하나가 될 것으로 생각한다.

IronPython을 사용하려는 특별한 이유가 있습니까? PTVS는 정규 Python을 완벽하게 지원합니다.

+0

답을 구하는 Thakns. IronPython을 사용하고자하는 주된 이유는 WPF로 GUI 애플리케이션을 개발하고 싶기 때문이며 일반 파이썬을 사용한다면 WPF를 지원하지 않는다고 생각합니다. – jesuscc29

2

원본에서 설치를 시도 할 수 있습니다. 소스 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

+0

감사합니다. 나는 잠시 후에 그것을 시도 할 것입니다! – jesuscc29

2

당신은 IronPython의에 pymongo 사용하지 못할 수 있지만, 당신은 IronPython에서 MongoDB를위한 C 번호/NET 드라이버를 사용할 수 있습니다. 그것조차 작동 할 수처럼

는 것 같습니다.

드라이버 정보는 here입니다. 이 링크에서 설명한대로 nuget (PM> Install-Package mongocsharpdriver)을 설치하거나 dll을 다운로드하면됩니다.

설치가 완료되면, 당신은 IronPython의에서 일반적인 방법으로 어셈블리를 사용할 수 있습니다 자세한 내용은하여 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) 

:

# Add reference to the Mongo C# driver 
    import clr 
    clr.AddReferenceToFileAndPath("MongoDB.Bson.dll") 
    clr.AddReferenceToFileAndPath("MongoDB.Driver.dll") 

그리고 예를 들어, MongoDB C# Driver API에 따라 사용 .