Суть моей проблемы заключается в следующем:
Я занимаюсь разработкой кода для Windows XP в C с MS Visual Studio 10.0, и мне нужно встроить Python для выполнения некоторых графиков, управления файлами и некоторых других вещей.,У меня были проблемы с sys.path при поиске моих модулей Pure-Python, но я исправил эту проблему, изменив PYTHONPATH.
Теперь моя проблема - заставить Python находить динамические библиотеки, которые загружаются некоторыми модулями.В частности, моя проблема заключается в том, чтобы сжать папку в файл bzip2 с тем же именем.
Из обычной командной строки python это прекрасно работает:
import tarfile
tar=tarfile.open('Code.tar.bz2','w:bz2')
tar.add('Code',arcname='Code')
tar.close()
Но когда я звонюэтот код из моего c-кода, он дает мне эту ошибку:
Traceback (most recent call last):
File "<string>", line 4, in <module>
File "D:\My_Documents\Code\ScrollModel\trunk\PythonCode.py", line 20, in Colle
ctFiles
tar=tarfile.open(os.path.join(runPath,'CODE.tar.bz2'),'w:bz2')
File "c:\Python26\lib\tarfile.py", line 1671, in open
return func(name, filemode, fileobj, **kwargs)
File "c:\Python26\lib\tarfile.py", line 1737, in bz2open
raise CompressionError("bz2 module is not available")
tarfile.CompressionError: bz2 module is not available
У меня есть подозрение, что проблема похожа на описанную в разделе 5.6 Embedded Python , но этоСложно сказать.Для чего это стоит, если я сделаю
Py_Initialize();
PyRun_SimpleString("import ssl\n");
Py_Finalize();
, он тоже не сработает, и я получу ошибку ImportError.
У кого-нибудь были такие проблемы?Я что-то упускаю из виду?