2011-11-13 4 views
4

PyCharm을 좋아하고 전에 Python 프로젝트에 사용했지만 IronPython을 사용하기 시작했고 PyCharm 또는 다른 IDE를 만드는 방법을 알아낼 수 없습니다 (VS는 예외). .NET 라이브러리.IronPython 네임 스페이스에 대한 코드 완성을 제공하는 PyCharm/PyDev/다른 IDE를 만드는 방법은 무엇입니까?

예를 들어, 나는 코드가 있습니다

from System.Environment import * 

path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) 

위의 코드가 잘 작동을하지만, "시스템"부분은 메시지 "해결되지 않은 참조 시스템"으로 사방에 회색 밑줄이 그어집니다. IronPython 문서에서는 System이 모듈이 아니라 네임 스페이스라는 것을 설명합니다. 내가 type(system) 일 경우 <type 'namespace#'>이 나옵니다. 그래서 PyCharm/PyDev가 네임 스페이스를 인식하도록하는 방법이 있습니까? 참고로, PATH는 괜찮습니다. 모든 것이 좋습니다.

답변

0

PyCharm이 아니고 Michael Foord가 W/Wing을 사용하는 방법에 대한 정보가 있습니다. http://www.voidspace.org.uk/ironpython/wing-how-to.shtml - PyCharm과 비슷한 메커니즘이있을 수 있습니다.

+0

감사합니다 - 그가 제공 불행하게도 스크립트가 나를 위해 작동하지 않았다, 나는 PyCharm 중 하나이 옵션을 가지고 있다고 생각하지 않습니다. –

5

성능상의 이유로 PyCharm은 기본적으로 .NET 어셈블리에 대한 Python 스텁을 생성하지 않습니다. import 문에서 미해결 참조에 캐럿을 넣고 Alt-Enter를 누른 다음 "Generic stubs for binary module ..."quickfix를 선택하여 생성을 트리거 할 수 있습니다.

+0

고마워.하지만 클릭해도 아무런 변화가 없다. (메뉴가 사라지고 아무 일도 일어나지 않는다.) "백그라운드 작업"에서는 아무 것도 발생하지 않습니다. 또한 스텁 생성 하위 메뉴의 옵션 중 아무 것도 수행하지 않습니다. –

+1

"Generate Stubs"는 약간의 히트 앤 미스입니다. 때로는 효과가 있으며 때로는 그냥 휘젓고 휘젓고 결국 실패합니다. –

3

참고로이 작업은 PyDev에서 올바르게 작동합니다 (IronPython 인터프리터를 구성하고 프로젝트를 IronPython 프로젝트로 구성했는지 확인하십시오).

또 다른 참고 위의 코드가 실제로해야한다는 것입니다 :

from System import Environment 

path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) 
관련 문제