Есть ли способ установить python библиотек из кода в приложении? - PullRequest
0 голосов
/ 17 июня 2020

Есть ли способ установить opencv или любые другие python библиотеки без использования команд терминала? Я разработал приложение на python, которое работает по двойному щелчку, и я хочу, чтобы оно работало для всех, кто не знает, как устанавливать библиотеки python. Я хочу установить все свои библиотеки из кода. Я пробовал это:

pip install pip,opencv-python
import cv2
#and a lot of code

Но я получаю недопустимую синтаксическую ошибку.

Ответы [ 3 ]

1 голос
/ 17 июня 2020

установка пакетов из сценария осуществляется путем вызова интерфейса командной строки pip через подпроцесс.

import subprocess
import sys

def install(package):
    subprocess.check_call([sys.executable, "-m", "pip", "install", package])
0 голосов
/ 17 июня 2020

как ваши пользователи воспринимают вашу программу? если вы используете setuptools для создания пакета, вы можете добавить элемент «install_requires» и включить все зависимости. Они будут добавлены в среду после установки.

import setuptools
from setuptools import setup

setup(
    name="programname",
    version="1.4.0",
    author="Dude",
    author_email="blah@blah",
    description="Some Program",
    long_description=open("readme.md").read(),
    license=open("license.md").read(),
    packages=setuptools.find_packages(),
    url="",
    install_requires=["psycopg2"],
    classifiers=[
        "Programming Language :: Python :: 3"
    ],
)
0 голосов
/ 17 июня 2020

Вы можете сделать следующее:

import pip


def install(package):
    if hasattr(pip, "main"):
        pip.main(["install", package])
    else:
        pip._internal.main(["install", package])


if __name__ == "__main__":
    install("opencv-python")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...