2013-01-02 18 views
5

Próbowałem zaimportować moduły do ​​IDE dla Pythona dla Pythona. Są to moduły, które pracuję na terminalu (numpy, scipy, scitools, matplotlib i mpl_toolkits), ale nie będą działać poprawnie w Ninja.Problemy z importowaniem modułów Pythona do Ninja IDE

Najpierw otrzymałem tylko wiadomość No module named ____. Sprawdziłem sys.path i okazało się, że ścieżka była w aplikacji

/Applications/Ninja IDE.app/Contents/Resources/lib/python2.7 była typową ścieżką. Próbowałem zmienić ścieżkę, ale wydaje się, że nie robi nic do sys.path nawet po ponownym uruchomieniu ide.

Ale chciałem, aby ścieżka odnosiła się do miejsca przechowywania modułów (co oznacza /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages). Udało mi się uzyskać numpy i scipy, aby działały tak dobrze, jak części mpl_toolkits, dodając zawartość mojej ścieżki do folderów, które podałam pod adres sys.path. Jednak nadal nie mogę uzyskać w pełni funkcjonujących modułów w ramach interpretatora idei ninja. Poniżej podam kilka przykładów tego, co się dzieje, gdy importuję niektóre moduły.

import matplotlib.pyplot 
Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
    File "/Applications/Ninja IDE.app/Contents/Resources/lib/python2.7/matplotlib/__init__.py", line 106, in <module> 
ImportError: No module named sysconfig 

import mpl_toolkits 

from mpl_toolkits.mplot3d import axes3d 
Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
    File "/Applications/Ninja IDE.app/Contents/Resources/lib/python2.7/mpl_toolkits/mplot3d/__init__.py", line 1, in <module> 
    File "/Applications/Ninja IDE.app/Contents/Resources/lib/python2.7/mpl_toolkits/mplot3d/axes3d.py", line 14, in <module> 
    File "/Applications/Ninja IDE.app/Contents/Resources/lib/python2.7/matplotlib/__init__.py", line 106, in <module> 
ImportError: No module named sysconfig 

Dzięki za pomoc. Przepraszam, jestem nowicjuszem w programowaniu, ale przed wysłaniem tutaj wysłałem około półtora dnia badań.

Odpowiedz

0

To dziwne, ponieważ moduł sysconfig jest częścią standardowej biblioteki Python 2.7. Czy jesteś pewien, że Ninja używa właściwej wersji Pythona? Spróbuj uruchomić:

import sys 
print sys.version_info 

od Ninja, aby sprawdzić, której wersji Pythona rzeczywiście używa.

+0

Hmm, używa wersji 2.7.2, a moja wersja terminalu to 2.7.3. To nie powinno tak naprawdę zrobić wielkiej różnicy? Miałem wrażenie, że te rzeczy działały dość płynnie, jak długo było 2.7.x. – ebris1

+1

Rzeczywiście, nie powinno. Ale na pewno coś jest nie tak (np. Zamiast 2.7.2 oczekiwałeś wersji 2.7.3, prawda?). –

+0

Cóż, niekoniecznie. Wszystkie moje moduły są specyficzne dla Pythona 2.7 i Mac OS X Lion. Musi istnieć sposób uruchomienia tych samych modułów w twoim ide, które uruchamiasz na terminalu bez aktywnej zmiany lokalizacji plików. – ebris1

0

Wiem, że to pytanie ma kilka miesięcy, ale chciałem opublikować moje rozwiązanie na wypadek, gdyby inni uznali to za przydatne. Miałem bardzo podobny problem i miałem problem ze znalezieniem szybko działającego rozwiązania w dowolnym miejscu.

Moim nieco okrężnym rozwiązaniem było po prostu utworzenie folderu virtualenv z żądaną wersją numpy, a następnie wskazałem właściwość "virtualenv" dla projektu NinjaIDE w tym folderze. Ponownie uruchomiłem NinjaIDE i bum, od razu zadziałało.

Aby ustawić właściwość virtualenv dla projektu za pośrednictwem graficznego interfejsu użytkownika, przejdź do menu Project:

Project > Open Project Properties > Project Execution, 

i powinieneś zobaczyć zmienną o nazwie "virtualenv Folder". Wskaż to folderowi na virtualenv i powinno działać. (Może trzeba ponownie uruchomić NinjaIDE.) To działało dla mnie, NinjaIDE wersja 2.2 w Ubuntu 12.04.

Jedna szybka uwaga: właściwie nie używałem virtualenv - musiałem użyć "conda env", ponieważ używam dystrybucji Anaconda, i najwyraźniej nie jest ona jeszcze dobrze przetestowana z virtualenv. (. I rzeczywiście dostał ostrzeżenie, gdy poszedłem do easy_install virtualenv nie widział wcześniej.)

Tak czy inaczej, to pytanie stackoverflow posiada kilka wskazówek do virtualenv tutoriale: Comprehensive beginner's virtualenv tutorial?

Powodzenia!

0

Miałem podobny problem, próbując zaimportować moduł z /home/paul/lib/python przy użyciu konsoli Ninja-IDE. Dowiedziałem się, że /home/paul/lib/python nie pojawił się w syspath podczas sprawdzania w konsoli Ninja-IDE. Ale tak się stało w terminalu!

Rozpoczynając Ninja-ide z terminala, /home/paul/lib/pythonbył w syspath podczas sprawdzania w konsoli Ninja-IDE. Mogłem teraz zaimportować potrzebny moduł.

Mam nadzieję, że może to być pomocne. Jeśli nie ebris1, to być może innym.

Powiązane problemy