Как проверить, установлены ли библиотеки из require.txt или нет при распаковке пакета python - PullRequest
0 голосов
/ 21 сентября 2018

Я создаю инструмент pypi, который автоматически устанавливает библиотеки python из файла json, и print, если установка завершена или нет.Это мой setup.py файл:

import setuptools
import pip
from subprocess import call
for package in 'requirements':
    try:
        call("pip install "+package, shell=True)
        print("Install success")
    except:
        print("Install failed for "+package)    
with open("README.md", "r") as fh:
    long_description = fh.read()
    fh.close()
setuptools.setup(
    name="json123",
    version="0.0.1",
    author="hari",
    author_email="hari@gmail.com",
    description="Auto install of python packages",
    long_description=long_description,
    long_description_content_type="text/markdown",
    classifiers=["Programming Language :: Python :: 3",],
    include_package_data=True,
    zip_safe=False,
    py_package=['json123'],
    entry_points='''
        [console_scripts]
        json123=json123:main
    ''',
    )

json123.py - это скрипт, который возьмет «зависимости» из файла json и скопирует его в файл needs.txt (файл require.txt создан этой программой)

import json
def main():
    f = open( "package.json" , "rb" )
    d = json.load(f)
    f.close()
    with open("requirements.txt", "w+") as fb:
        for i,j in zip(d["dependencies"].keys(), d["dependencies"].values()):
            line = "{}=={}\n".format(i, j.strip("^"))
            fb.writelines(line)
    fb.close() 

Я также включил MANIFEST.in, README.md, package.json (источник) и requirements.txt вместе с вышеупомянутыми файлами.Для выполнения:

pip install -e . -r requirements.txt

-e . для локальной установки и -r requirements.txt для установки указанных библиотек.Когда я выполнил его, пакет был установлен:

Obtaining file:///C:/Users/ha/json123
Installing collected packages: json123
Running setup.py develop for json123
Successfully installed json123

Он не устанавливается должным образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...