1
$\begingroup$

In my code I am trying to open a new blender subprocess with this code

I am trying to do some action like this how to run a give code = ''' import bpy''' like in code below, in that new blender subprocess how to run like a script in that new sub process that opens Example Script : 'C:/Users/Desktop/my_script.py'

import bpy
import subprocess

blenpath = 'C:/Program Files/Blender Foundation/Blender 2.93/blender.exe'

code = '''
import bpy
for obj in bpy.data.objects:
    obj.name = 'test_name'
'''

# how to run the code above in that new blender subprocess
# how to run like a script in that new sub process that opens 
# Example Script : 'C:/Users/Desktop/my_script.py'

cmd = [blenpath]
subprocess.Popen(cmd)
$\endgroup$

1 Answer 1

2
$\begingroup$

See all the python options here https://docs.blender.org/manual/en/latest/advanced/command_line/arguments.html#python-options

import bpy
import subprocess

temp_blend_path = 'C:/Users/naman/Desktop/test.blend'

filepath = 'C:/Users/Desktop/my_script.py'

process = subprocess.Popen([bpy.app.binary_path, "--factory-startup", "-b", temp_blend_path, "--python", filepath], stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE, encoding='utf-8')
process.wait()
$\endgroup$
6
  • $\begingroup$ Can I know how, to open a subprocess, instead of an existing file? like another instance of blender and run the code in it. $\endgroup$ Commented May 23, 2023 at 4:02
  • $\begingroup$ Also u wrote a code in the expression, What if I want to get a code from a script I written in a directory, 'C:/Users/Desktop/my_script.py' , like this $\endgroup$ Commented May 23, 2023 at 4:02
  • $\begingroup$ learn more docs.blender.org/manual/en/latest/advanced/command_line/… $\endgroup$ Commented May 23, 2023 at 4:12
  • $\begingroup$ argument order docs.blender.org/manual/en/latest/advanced/command_line/… $\endgroup$ Commented May 23, 2023 at 4:18
  • 1
    $\begingroup$ remove the "--python-expr", expression and use "--python", <filepath> $\endgroup$ Commented May 23, 2023 at 17:28

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.