Я пытаюсь использовать библиотеку 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', но импорт os не может уничтожить мой индекс.