我使用的是python3.1.4,它作为脚本环境嵌入到应用程序(x64)中。
到目前为止,我遇到了很多关于嵌入式python的限制。我不知道这是正常的还是应用程序的程序员阻止了一些功能。在
例如,以下代码不起作用:from multiprocessing import Process
def f(name):
print('hello', name)
if __name__ == '__main__':
p = Process(target=f, args=('bob',))
p.start()
p.join()
# --> error in forking.py: 'module' object has no attribute 'argv'
# print(sys.argv) gives the same error
sys.executable返回应用程序的路径。在
我也试过这个:
^{pr2}$
没有成功。在
有没有可能的解决办法?我不太可能让应用程序的开发人员更改代码中的某些内容。在
谢谢
编辑
我通过添加以下内容使其生效:
sys.argv = ['c:/pathToScript/scipt.py']
我也需要这句台词:
multiprocessing.set_executable('C:/Python31/python.exe')
否则,将打开应用程序的另一个实例,而不是运行代码。在
我剩下的唯一问题是我不能使用控制应用程序本身的方法(例如:create_project()、add_report(),…)。我的主要目标是能够调用多个方法,而不需要等待第一个方法完成。但我认为这是不可能的。在