Я пытаюсь распространить инструмент CLI для публичного использования. Мой код содержит исполняемый файл (написанный на golang) и вспомогательный скрипт на python (используемый исполняемым файлом).
Мой первоначальный подход состоял в том, чтобы вызвать исполняемый файл из python, используя это, где main - точка входа команды cli.
import os
import subprocess
import sys
def main():
dst = os.path.dirname(os.path.realpath(__file__))+'/golangexec'
arg_list = [dst,"myclitool"]
cmd_args = sys.argv[1:]
args = arg_list + cmd_args
subprocess.call(args)
return
`
Мой пакет такой
project
│ setup.py
│
└───myclitool
│ │ golangexec
│ │ __init__.py
| | pyhelper.py
| | run.py
С setup.py
:
from setuptools import setup
setup(
name='mypkg',
packages=['myclitool'],
version='0.1',
entry_points='''
[console_scripts]
mycli=myclitool.run:main
'''
)
Однако этот исполняемый файл не устанавливается в том же месте, что и остальные файлы.
Я попытался поместить все в данные пакета, но затем я столкнулся с ошибкой отказа в разрешении при запуске exe с использованием подпроцесса.
Что я делаю не так?