В некотором контексте: у меня есть код C, который при компиляции я могу вызвать в терминале следующим образом: ./my_excec -params
Он генерирует некоторые файлы, которые я использую в python для генерации диаграмм, и другие вещи.Python setup.py make make make не содержит двоичные файлы
Я хочу упаковать все в библиотеке python как код C, так и код python. C-код не является расширением python (в будущем он будет в будущем, но сейчас нет).
У меня есть сделать файл для компиляции кода C, и я знаю, что могу назвать это из setup.py, как это: subprocess.call(['make', '-C', 'word2vec-src'])
То, что я хочу быть в состоянии сделать это: pip install my_module
Это должно вызвать makefile, скомпилируйте C, чтобы пользователь мог вызывать двоичные файлы: my_excec -params
, а также иметь возможность импортировать код питона вокруг него.
Проблема, возникающая при упаковке пакета python. Я использую параметр data_files
в setup()
следующим образом: data_files=[('bin', ['bin/binary_file'])],
Это перемещает файлы из bin в папку установки (в виртуальном env), и я могу их вызвать. Но когда упаковка также помещает скомпилированные файлы в tarball, и когда я вызываю pip install, my_module` помещает скомпилированные файлы с моего компьютера.
Спасибо.
Это действительно полезно. У вас есть ссылка на ваш полный исходный код где-нибудь? Меня интересует, как вы структурировали свой Makefile. –