2012-06-10 12 views
7

लेखक here बिंदु 17.20-17.50 में उल्लेख है कि आप भविष्य में मानक पायथन दुभाषिया के साथ बीपीवाई तक पहुंच सकते हैं। यह पहले से ही 1 साल पुराना है, तो मैं मानक पायथन कंसोल के साथ बीपीवाई कैसे प्राप्त कर सकता हूं?मैं मानक पायथन कंसोल में बीपीवाई कैसे प्राप्त कर सकता हूं? बीपीवाई ब्लेंडर-पायथन -0

ट्रायल 0: roundaround -solution ब्लेंडर अंदर

subprocess.call(['vim', 'test.py']) 
# some editing of BPY -file with Vim (not working currently) 
subprocess.call(['python', 'test.py']) 
# trying to execute the python -file (not working currently) 

ट्रायल 1 उपप्रक्रिया साथ काम नहीं कर रहा: ब्लेंडर

$ cat cubes.py 
import bpy 

mylayers = [False]*20 
mylayers[0] = True 
add_cube = bpy.ops.mesh.primitive_cube_add 
for index in range(0, 5): 
    add_cube(location=(index*3, 0, 0), layers=mylayers) 
$ python cubes.py 
Traceback (most recent call last): 
    File "cubes.py", line 1, in <module> 
    import bpy 
ImportError: No module named bpy 
+0

क्या पहले एक दूसरे के साथ क्या करना है? आप एक subprocess कॉल से vim के साथ 'test.py' संपादित करने की कोशिश कर रहे हैं और यह विफल रहता है? – jdi

+0

हां। और यह काम नहीं करेगा – jdi

+0

... इसी तरह की नौसिखिया क्यू [यहां] (http://avp.stackexchange.com/questions/4145/how-to-create-a-rolling-ball-with-python-in-blender) के बारे में ब्लेंडर-पायथन का उपयोग करके, एनिमेटेड बॉल करने की कोशिश कर रहा है। – hhh

उत्तर

0

बाहर काम नहीं कर रहा वीडियो लिंक में आप उस समय खंड के दौरान पोस्ट किया गया, स्टैंड-अलोन मिश्रण चलाने का कोई उल्लेख नहीं है मानक पायथन दुभाषिया का उपयोग कर एर पायथन लिपि। आप वीडियो में जो देख रहे हैं वह ब्लेंडर में निर्मित दुभाषिया के लिए इंटरैक्टिव कंसोल खींच रहा है।

ब्लेंडर को अपने स्वयं के बंडल पायथन पर्यावरण की आवश्यकता होती है, और यदि आप एक मानक पायथन दुभाषिया का उपयोग करके एक स्क्रिप्ट चलाने की कोशिश करने जा रहे थे, तो आपको ब्लेंडर पैकेज से सभी पैकेजों को शामिल करने के लिए पर्यावरण स्थापित करना होगा। हालांकि ऐसा लगता है कि शायद यह संभव नहीं है क्योंकि मुझे लगता है कि ब्लेंडर की पायथन संशोधित है।
/path/to/blender --python-console

+0

क्या आप '/ path/to/blender --python-console 'के साथ कुछ डेमो दे सकते हैं (कुछ सरल उदाहरण के साथ कुछ इतिहास फ़ाइल उपयोगी होगी), मुझे सिर्फ एक ग्रे क्षेत्र मिलता है और मैं देख सकता हूं कि आदेश काम करते हैं और मैं कर सकता हूं आयात करें लेकिन मैं कुछ भी नहीं देख सकता --- और मैं देख सकता हूं कि यह स्पष्ट रूप से संशोधित है, 'बाहर निकलें() 'काम नहीं करता है ... – hhh

+0

@hhh: दुर्भाग्य से मैं ब्लेंडर एपीआई नहीं जानता। मैं केवल आपको अपने विशिष्ट प्रश्न पर अंतर्दृष्टि देने में सक्षम था कि आप इसे मानक पायथन इंटरप में क्यों नहीं चला सकते हैं। आप अपने एपीआई सीखने के लिए इंटरनेट पर कुछ नमूने देखना चाहते हैं। मुझे यकीन है कि बहुत कुछ है। – jdi

+0

[आप वास्तव में एक पायथन 3 मॉड्यूल के रूप में ब्लेंडर संकलित कर सकते हैं] (http://stackoverflow.com/a/11102681/321973) –

12

पर these instructions आधार पर: आप यह भी माध्यम से एक bash खोल से एक इंटरैक्टिव सांत्वना शुरू कर सकते हैं
/path/to/blender -P cubes.py

:

ब्लेंडर निष्पादन आप के माध्यम से एक अजगर स्क्रिप्ट चलाने के लिए अनुमति देने के लिए प्रतीत होता है:

ब्लेंडर स्रोत कोड प्राप्त करें:

cd ~/srC# or what you prefer 
git clone http://git.blender.org/blender.git 

cd blender 
git submodule update --init --recursive 
git submodule foreach git checkout master 
git submodule foreach git pull --rebase origin master 

निर्भरताओं का ख्याल रखना, उदाहरण देखें here आवश्यक * और संकलन करता है, तो bpy लक्ष्य के माध्यम से:

cd ~/src/blender 
make bpy 

(फिर) रूट के रूप में उत्तरार्द्ध चलाते हैं file INSTALL cannot set permissions on [...] तरह त्रुटियों

आपका अजगर अब import bpy में सक्षम होना चाहिए होते हैं।


* डेबियन-ish सिस्टम के लिए

sudo apt-get install subversion build-essential gettext \ 
libxi-dev libsndfile1-dev \ 
libpng12-dev libjpeg-dev libfftw3-dev \ 
libopenexr-dev libopenjpeg-dev \ 
libopenal-dev libalut-dev libvorbis-dev \ 
libglu1-mesa-dev libsdl1.2-dev libfreetype6-dev \ 
libtiff4-dev libavdevice-dev \ 
libavformat-dev libavutil-dev libavcodec-dev libjack-dev \ 
libswscale-dev libx264-dev libmp3lame-dev python3.2-dev \ 
libspnav-dev libtheora-dev libjack-dev libglew1.6-dev 
+0

मेरे लिए त्रुटियों का ढेर फायरिंग, अधिक [यहां] (http://pastie.org/ 4,550,483)। मैन्युअल रूप से इंस्टॉल करने के बाद इंस्टॉल करने के बाद, मैंने यह पाया [यहां] (http://wiki.blender.org/index.php/Devs.5/Doc/Building_Blender/Linux/Ubuntu/CMake) लेकिन इसमें पुराने pkgs हैं - पेस्टी ने pkgs को अद्यतन किया है लेकिन अभी भी कुछ गलती है, अभी तक इसका समाधान नहीं मिला है "पाइथन लिब्स यूनिक्स नहीं मिला (गायब: PYTHON_LIBRARY PYTHON_INCLUDE_DIR)" '। चैट-चर्चा [यहां] (http://chat.stackoverflow.com/transcript/message/4994981#4994981)। वैसे भी शायद अच्छे समाधान उम्मीदवार के लिए +1, प्रयोगात्मक चेतावनी! – hhh

+0

[इस] के अनुसार (http://blenderartists.org/forum/showthread.php?227153-How-to-build-Cycles&p=1924562&viewfull=1#post1924562), आपको 'पायथन-डेवेल' इंस्टॉल करने की आवश्यकता है। यह भी सुनिश्चित करें कि आप पाइथन> = 3 का उपयोग कर रहे हैं।2 –

+0

yup, [your 'apt-get'] (http://pastie.org/4550483) में 'python3.2-dev' की कमी है, आपको इसे भी इंस्टॉल करने की आवश्यकता है (यह पाइथन की निर्भरता नहीं है) –

3

मैं ग्रहण का उपयोग ब्लेंडर में विकसित करने के लिए चलाते हैं। मुझे http://airplanes3d.net/pydev-000_e.xml

+1

यह कुछ उपयोगकर्ताओं +1 का समाधान हो सकता है, ग्रहण ब्लेंडर का एक सीधा लिंक [यहां] (http://airplanes3d.net/downloads/pydev/pydev-blender-en.pdf)। पृष्ठ 40 से शायद कुछ के लिए उपयोगी सामान, फिर भी प्रति प्रश्न का जवाब नहीं दे रहा है। – hhh

1

यह आलेख बताता है कि ब्लेंडर को पाइथन मॉड्यूल के रूप में कैसे बनाया जाए।

http://wiki.blender.org/index.php/User%3aIdeasman42/BlenderAsPyModule

यह प्रकट नहीं होता है कि यह तकनीक एक नियमित रूप से ब्लेंडर प्रक्रिया के लिए एक बाहर अजगर सत्र कनेक्ट करेगा बल्कि अजगर प्रक्रिया के अंदर ब्लेंडर चलाते हैं।

6

मामले में यह अभी भी प्रासंगिक है, तो आप इस तरह ब्लेंडर के संदर्भ में एक स्क्रिप्ट चला सकते हैं (-b यह बिना सिर में आता है, तो आप X11 के बिना एक सर्वर प्रस्तुत करना पर चला सकते हैं):

blender -b -P script.py 

अधिक विकल्पों के लिए blender --help देखें।

आप एक IPython कंसोल के लिए ब्लेंडर कनेक्ट करने के लिए अजगर के माध्यम से ब्लेंडर के साथ बातचीत कर सकते हैं आप इस स्क्रिप्ट जो मैं सिर्फ लिखा उपयोग कर सकते हैं चाहते हैं, इसलिए हैं: https://github.com/panzi/blender_ipython

प्रारंभ एक नोटबुक:

./blender_ipython.py notebook 

एक क्यूटी कंसोल प्रारंभ करें:

./blender_ipython.py qtconsole 
0

मैं प्रोग्रामिंग करने के लिए नया हूँ, लेकिन मैं एक साधारण वैकल्पिक हल मिल गया है, मैं ओएस का उपयोग कर टर्मिनल के लिए कमांड लाइन का इस्तेमाल किया। मेरा कार्यक्रम कुछ हद तक इस तरह दिखता था।

import os 
os.system("cd /home/") 

(वह यह है कि जहाँ मेरे ब्लेंडर है)

और फिर मैं टर्मिनल आदेश उसी तरह मैं सीडी का इस्तेमाल किया करते थे।

https://docs.blender.org/manual/en/dev/render/workflows/command_line.html

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