Опитвам се да използвам библиотека CPython от програма на Jython чрез subprocess.call() към скрипт на python.
Мога да направя обаждането чрез интерпретатора на Jython без проблем.
[OpenJDK Server VM (Sun Microsystems Inc.)] on java1.6.0_22
Type "help", "copyright", "credits" or "license" for more information.
>>> import subprocess
>>> subprocess.call('python /opt/fake.py', shell=True)
ok!
0
Но когато извикам скрипта от моята Jython програма, изградена в Eclipse/PyDev:
subprocess.call('python /opt/fake.py', shell=True)
Резултати в това:
Traceback (most recent call last):
File "/home/sarwar/jython2.5.2/Lib/site.py", line 62, in <module>
import os
File "/home/sarwar/jython2.5.2/Lib/os.py", line 50, in <module>
import posixpath as path
File "/home/sarwar/jython2.5.2/Lib/posixpath.py", line 216, in <module>
if not os._native_posix:
AttributeError: 'module' object has no attribute '_native_posix'
Някакви предложения за това как мога да приведа моя скрипт, работещ под PyDev, в съответствие с резултата от интерпретатора?
Благодаря предварително.
РЕДАКТИРАНЕ 1: Коригирах импортирания модул, за да използвам само библиотеки на Jython и грешката продължава.
РЕДАКТИРАНЕ 2: След извършване на още тестове, изглежда, че създаденият екземпляр на CPython е блокиран с помощта на PythonPath за Jython. Позволява ми да извикам „python --version“, но import os не успява да убие индекса ми.