2012-11-21 19 views
14

मैं अपने कंप्यूटर पर VTK साथ अजगर स्थापित करने के लिए कोशिश कर रहा हूँ, लेकिन जब मैं VTK आयात करना चाहते हैं, मैं कोई त्रुटि मिलती है नामित:ImportError: नहीं मॉड्यूल vtkCommonPython

import vtk 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
File "C:\vtk\Wrapping\Python\vtk\__init__.py", line 41, in <module> 
    from vtkCommonPython import * 
ImportError: No module named vtkCommonPython 

मैं पहले ही अपनी रास्तों की जाँच की और मेरे पास है बिन फ़ोल्डर में फ़ाइल 'vtkCommonPython.pyd' फ़ाइल करें।

क्या कोई मुझे इस समस्या से मदद कर सकता है?

+5

क्या आपके पास आपके पायथन पथ पर vtkCommonPython.pyd फ़ाइल है? क्या फाइल 'sys.path'' निर्देशिका में से एक है? – codeape

उत्तर

0

इसे sys.path की निर्देशिका में होना चाहिए। मैंने जो किया है, मैंने एक फ़ोल्डर बनाया है (वास्तव में कोई फर्क नहीं पड़ता) जिसे "मॉड्यूल" कहा जाता है जिसमें मेरे सभी मॉड्यूल हैं जिन्हें मैं डाउनलोड/बना देता हूं। मान लें कि मैंने इसे C:\Users\USER\Modules में रखा है। आप इस मॉड्यूल को वहां भी डाल सकते हैं।

आपको फ़ोल्डर में पथ कॉपी करने की आवश्यकता है।

फिर, नियंत्रण कक्ष पर जाएं। सिस्टम पर क्लिक करें, फिर बाएं पैनल पर "उन्नत सिस्टम सेटिंग्स" नामक एक विकल्प है। उस पर क्लिक करें। पॉप अप करने वाली विंडो के नीचे से, "पर्यावरण चर" पर क्लिक करें। यह देखने के लिए देखें कि क्या आपके पास PYTHONPATH नामक एक चर बनाया गया है या नहीं। सबसे अधिक संभावना है, आप नहीं करते हैं। तो, "नया" दबाकर एक चर (दूसरे खंड में) बनाएं। इसे PYTHONPATH और वैरिएबल मान के लिए, फ़ाइल पथ में डालें। (मेरे उदाहरण के लिए, फ़ाइल पथ C:\Users\USER\Modules है)। आशा है कि इस मदद करता है :)

मैं कैसे वहाँ पाने के का एक स्क्रीनशॉट डाला एक बार आप प्रणाली (गुण) नियंत्रण कक्ष में स्थान के लिए मिलता है: Python Path

+0

ऐसा करने के बाद, आप किसी भी '.py' फ़ाइल को आयात कर सकते हैं (माना जाता है कि यह चल सकता है --- इसमें कोई त्रुटि नहीं है) और इसे किसी भी अन्य पायथन प्रोग्राम में उपयोग करें। –

+0

धन्यवाद, लेकिन मैंने अपने पर्यावरण चरों में पहले से ही PythonPATH जोड़ा है। और फ़ाइल vtkCommonPython.pyd PYTHONPATH के फ़ोल्डर में है। कोई अन्य सुझाव? – user1842222

+0

क्या आपको समस्या मिली? मुझे भी यही तकलीफ़ है। –

3

मैं एक बहुत ही इसी तरह की समस्या का सामना किया है, और से यह तय PYTHONPATH पर्यावरण चर में /usr/local/lib/python2.7/site-packages/vtk/ जोड़ना।

आपका सटीक फ़िक्स आपके पाइथन आदि के आधार पर भिन्न हो सकता है (यह पथ को प्रभावित करता है)। आप लापता मॉड्यूल के स्थान का पता लगाने और फिर पर्यावरण चर के पथ को निम्नानुसार जोड़कर इसे हल करने में सक्षम होना चाहिए।

मेरे मामले में, मैं पथ का उपयोग कर पाया:

find/-name vtkCommonCorePython 2>/dev/null 

और फिर ~/.bash_rc या समकक्ष के लिए प्रासंगिक पथ गयी।

export PYTHONPATH="$PYTHONPATH:usr/local/lib/python2.7/site-packages/vtk/" 

सावधान रहें कि आप पथ चर करने के लिए उसे ओवरराइट बजाय संलग्न - आप शायद पहले से ही जैसे कुछ अन्य सामान की आवश्यकता है '/ usr/स्थानीय/lib /' वहाँ में। प्रारूप (और फ़ाइल जहां आप इसे डालते हैं!) अलग-अलग गोले के लिए अलग है।

पुनः प्रारंभ टर्मिनल के माध्यम से परिवर्तन प्राप्त है, और फिर जाँच करें कि चर ठीक से सेट है करने के लिए:

echo $PYTHONPATH 

और रास्तों में से किसी में कोई गलती देखते हैं कि बहुत सावधान रहना!

2

मैकॉक्स पर यह वही समस्या थी। तो मैंने अजगर के बजाय vtk/bin/vtkpython का उपयोग शुरू किया। इसने मुझे बिना किसी त्रुटि के vtk आयात करने की अनुमति दी।मैं तो vtkCommonCorePython स्पष्ट रूप से आयातित और स्थान मुद्रित:

$ /home/vtk/bin/vtkpython 
vtk version 6.2.0 
Python 2.7.5 (default, Mar 9 2014, 22:15:05) 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import vtkCommonCorePython 
>>> print vtkCommonCorePython 
<module 'vtkCommonCorePython' from '/home/vtk/lib/vtkCommonCorePython.so'> 

टर्मिनल में, मैं तो मेरे अजगर आभासी वातावरण पथ के लिए lib फ़ोल्डर कहा:

$ add2virtualenv /home/vtk/lib 

मैं नहीं जानता कि यह कैसे अनुवाद होगा विंडोज़ के लिए, लेकिन मुझे उम्मीद है कि यह मदद करता है!

0

आपको सिस्टम पथ पर vtkCommonPython.pyd के फ़ोल्डर को जोड़ने की आवश्यकता है (जैसे कि यह एक डीएल था)। यह भी देखें http://www.vtk.org/Wiki/VTK/Tutorials/PythonEnvironmentSetup

+0

मेरे पास एक ही त्रुटि है: 'vtk.vtkRenderingQtPython' नामक कोई मॉड्यूल नहीं है। मेरा कंप्यूटर win7 है। मैं vtk/bin/debug में vtkRenderingQtPython.pyd पा सकता हूं। और मैंने सिस्टम पर्यावरण 'पायथनपथ' में फ़ोल्डर जोड़ दिया है। लेकिन त्रुटि अभी भी मौजूद है। मैं इस त्रुटि को कैसे ठीक कर सकता हूं? –

1

मुझे एक ही समस्या थी (कुबंटू 14.04)।

मुझे एहसास हुआ कि /usr/lib/python2.7/dist-packages/vtk में संकलित vtkpython ऑब्जेक्ट्स के लिंक टूटा गया था।

तो मैं /usr/lib/x86_64-linux-gnu पर गया और for i in *-6.0.so.6.0; do sudo ln -s $i ${i/-6.0.so.6.0/-6.0.so}; done चला गया।

यह समस्या हल करने लग रहा था।

उम्मीद है कि मदद करता है। यह जांच करना कि vtk अपने $PYTHONPATH अंदर है से

3

अलावा, यह भी ध्यान दें कि VTK (6.x) का नवीनतम संस्करण अब एक vtkCommonPython मॉड्यूल है। इसके बजाय इसे कई उप-घटकों में विभाजित किया गया है। (जैसे vtkCommonCorePython, vtkCommonMathPython, vtkCommonSystemPython), लेकिन यह ज्यादातर आप उपयोग कर सकते हैं (बाहरी पैकेज के लिए एक समस्या हो जाएगा जैसे VMTK डिफ़ॉल्ट के खिलाफ और dependend upon VTK 5.10 संकलित कर रहा है

की जाँच करें और विस्तार करने के लिए अपने $PYTHONPATH बस फोन:।

$ echo $PYTHONPATH 
/usr/local/lib/python2.7/site-packages 
$ export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages/vtk 
$ echo $PYTHONPATH 
/usr/local/lib/python2.7/site-packages:/usr/local/lib/python2.7/site-packages/vtk 

जाँच करने के लिए जो vtk संस्करण आप स्थापित किया है:

$ python 
Python 2.7.10 
>>> import vtk 
>>> print str(vtk.VTK_MAJOR_VERSION) + '.' + str(vtk.VTK_MINOR_VERSION) 
6.2 
0

मान लिया जाये कि आप सुझाव है इस्तेमाल किया यदि समस्या तब होती है जब sudo का उपयोग कर, उदा

export PYTHONPATH=$HOME/projects/VTK-build/lib:$HOME/projects/VTK-build/Wrapping/Python:$PYTHONPATH 

: instructions में एड पथ, अपने bashrc में निम्नलिखित पंक्ति जोड़

sudo yum install mayavi 

आपको शायद this issue को हल करने की आवश्यकता है। bashrc में निम्नलिखित पंक्ति जोड़ें:

alias sudo=’sudo env PYTHONPATH=$PYTHONPATH’ 

Full instructions

0

खिड़कियों में,

आप अपेक्षा की जाती है निम्नलिखित पथ
जोड़ने के लिए फ़ोल्डरों .pyd युक्त और .dll फ़ाइलों में जोड़े पायथनपथ पर्यावरण चर।

उदाहरण:

डी: \ VTK \ VTK-बिन \ बिन \ रिलीज \ लिब \ साइट-संकुल \ vtkmodules
डी: \ VTK \ VTK-बिन \ बिन \ रिलीज

साथ ही, सिस्टम वैरिएबल PATH सी पर क्यूटी के बिन फ़ोल्डर में पथ जोड़ें: \ Qt \ 5.10.0 \ msvc2017_64 \ bin

संबंधित मुद्दे