Как добавить / установить python библиотек в мой проект на github? - PullRequest
2 голосов
/ 25 мая 2020

Я создаю свой первый проект на GitHub, и мой код python sr c использует стороннюю библиотеку с открытым исходным кодом, которую я установил на свой компьютер. Однако я слышал, что лучше всего создать папку dep (dependencies) для хранения любых дополнительных библиотек, которые мне понадобятся. Как мне установить библиотеки в папку dep и использовать их оттуда вместо основного компьютера?

Ответы [ 2 ]

0 голосов
/ 25 мая 2020

Вы должны создать файл requirements.txt с каждым пакетом в отдельной строке. например,

pandas==0.24.2

Вы также можете добавить setup.py в свой python пакет. В настройке вы должны использовать аргумент install_requires. Хотя install_requires не будет устанавливать пакеты при установке вашего пакета, но сообщит пользователю, какие пакеты необходимы. Пользователь может обратиться к файлу requirements.txt, чтобы увидеть требования. Вы можете проверить это здесь: https://packaging.python.org/discussions/install-requires-vs-requirements/

Ниже приведен пример файла setup.py:

from distutils.core import setup
from setuptools import find_packages

setup(
    name='foobar',
    version='0.0',
    packages=find_packages(),
    url='',
    license='',
    author='foo bar',
    author_email='foobar@gmail.com',
    description='A package for ...'
    install_requires=['A','B']
)



0 голосов
/ 25 мая 2020

Никогда не слышал об установке дополнительных библиотек в папку зависимостей.

Создайте файл установки python в папке root, если у вас его еще нет, там вы можете определить, какие пакеты ( библиотеки, как вы их называете), которые необходимы вашему проекту. Это простой установочный файл, например:

from setuptools import setup, find_packages

setup(
    name = "yourpackage",
    version = "1.2.0",
    description = "Simple description",
    packages = find_packages(),
    install_requires = ['matplotlib']  # Example of external package
)

При установке пакета, содержащего этот установочный файл, он также автоматически устанавливает все требования в вашем VENV. И если вы используете pycharm, он также предупреждает вас, если есть требование, которое не установлено.

...