Перейти к содержимому

Как установить библиотеку в python из github

  • автор:

Как установить свой пакет с гитхаба?

Пытаюсь установить свой пакет с github в cmd. Пишу: pip install -e git+https://github.com/ArturMistiuk/clean-folder.git но выскакивает ошибка ERROR: Could not detect requirement name for ‘git+https://github.com/ArturMistiuk/clean_folder’, please specify one with #egg=your_package_name В чем проблема и к какому файлу именно нужно указывать файл в github. Вы можете перейти по ссылке https://github.com/ArturMistiuk/clean_folder и посмотреть какие файлы у меня там лежат.

Отслеживать

задан 23 янв 2023 в 6:02

196 11 11 бронзовых знаков

Я обычно формирую whl файл, создаю релиз, прикладываю whl к релизу, потом из релиза можно устанавливать командой вида pip install https://github.com/юзер/репозиторий/releases/download/имя_релиза/имя_пакета.whl (скопировать ссылку из assets релиза), или скачать whl файл, установить с помощью pip install имя_пакета.whl .

23 янв 2023 в 7:52

Файл .whl сам же создается после build в папке dist, верно?

Установить библиотеки из Git-репозитория

Вы можете клонировать Git-репозитории в NFS для последующей работы с нужными библиотеками из них.

Чтобы установить библиотеку из репозитория:

  1. Перейдите в Environments → Jupyter Servers .
  2. Откройте терминал в Jupyter Notebook или JupyterLab и выполните команду:

git clone

Примечание Некоторые библиотеки требуют компиляции. Например, чтобы собрать библиотеку torch-blocksparse из репозитория, необходимо выполнить команду

sudo apt-get install llvm-9-dev

Исполнение этой команды требует прав администратора на NFS, но пользователям такие права не предоставляются. Для использования sudo и работы c такими библиотеками используйте кастомные образы .

Как установить библиотеку с github?

На этой странице есть инструкция по установке библиотеки, но из-за того что она идет для разных языков програмирования я не совсем понимаю что нужно делать после того как я клонировал себе этот проект и выполнил cd mexc-api-sdk/dist/python . По инструкции нужно разархивировать файл. Пытался эти два файла (из mexc-api-sdk/dist/python) просто разархивировать через 7zip в venv/Lib/site-packages но при попытке импорта from mexc_sdk import Spot получаю ошибку

Traceback (most recent call last): File "D:\all\Programming\arbitrage_screener_tg\exchanges_api.py", line 3, in from mexc_sdk import Spot File "D:\all\Programming\arbitrage_screener_tg\venv\Lib\site-packages\mexc_sdk\__init__.py", line 498, in import jsii ModuleNotFoundError: No module named 'jsii'

Что я делаю не так? Подскажите пожалуйста.

  • Вопрос задан 14 апр. 2023
  • 324 просмотра

Комментировать

Решения вопроса 1

Vindicar

Зависимости не установлены. Вообще обрати внимание, что в папке dist/python лежит файл .whl — этот wheel можно установить через менеджер пакетов pip, просто как pip install filename.whl . Тогда pip должен сам подтянуть нужные зависимости.

Ответ написан 14 апр. 2023

Нравится 1 2 комментария

David @davider228 Автор вопроса

Установил через pip, но теперь другая ошибка

Traceback (most recent call last): File "D:\all\Programming\arbitrage_screener_tg\exchanges_api.py", line 3, in from mexc_sdk import Spot File "D:\all\Programming\arbitrage_screener_tg\venv\Lib\site-packages\mexc_sdk\__init__.py", line 502, in from ._jsii import * File "D:\all\Programming\arbitrage_screener_tg\venv\Lib\site-packages\mexc_sdk\_jsii\__init__.py", line 11, in __jsii_assembly__ = jsii.JSIIAssembly.load( ^^^^^^^^^^^^^^^^^^^^^^^ File "D:\all\Programming\arbitrage_screener_tg\venv\Lib\site-packages\jsii\_runtime.py", line 55, in load _kernel.load(assembly.name, assembly.version, os.fspath(assembly_path)) File "D:\all\Programming\arbitrage_screener_tg\venv\Lib\site-packages\jsii\_kernel\__init__.py", line 299, in load self.provider.load(LoadRequest(name=name, version=version, tarball=tarball)) File "D:\all\Programming\arbitrage_screener_tg\venv\Lib\site-packages\jsii\_kernel\providers\process.py", line 352, in load return self._process.send(request, LoadResponse) ^^^^^^^^^^^^^ File "D:\all\Programming\arbitrage_screener_tg\venv\Lib\site-packages\jsii\_utils.py", line 23, in wrapped stored.append(fgetter(self)) ^^^^^^^^^^^^^ File "D:\all\Programming\arbitrage_screener_tg\venv\Lib\site-packages\jsii\_kernel\providers\process.py", line 347, in _process process.start() File "D:\all\Programming\arbitrage_screener_tg\venv\Lib\site-packages\jsii\_kernel\providers\process.py", line 260, in start self._process = subprocess.Popen( ^^^^^^^^^^^^^^^^^ File "C:\Users\dkala\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1024, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "C:\Users\dkala\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1493, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ FileNotFoundError: [WinError 2] Не удается найти указанный файл Exception ignored in: Traceback (most recent call last): File "D:\all\Programming\arbitrage_screener_tg\venv\Lib\site-packages\jsii\_kernel\providers\process.py", line 228, in __del__ self.stop() File "D:\all\Programming\arbitrage_screener_tg\venv\Lib\site-packages\jsii\_kernel\providers\process.py", line 291, in stop assert self._process.stdin is not None ^^^^^^^^^^^^^ AttributeError: '_NodeProcess' object has no attribute '_process'

Проблема в модуле похоже, да?

Установка пакетов Python из приватного репозитория GitHub с помощью pip

Когда разработчики работают с Python, им часто приходится устанавливать различные пакеты для выполнения разнообразных задач. Один из самых популярных способов установки таких пакетов — использование инструмента pip. Pip позволяет устанавливать пакеты из публичных репозиториев, таких как PyPI, а также из репозиториев на GitHub.

pip install git+https://github.com/username/repository.git

Проблема возникает, когда нужно установить пакет из приватного репозитория на GitHub. При попытке установить пакет из приватного репозитория с помощью pip, разработчики сталкиваются с ошибками, связанными с отказом в доступе.

Решение проблемы

Решение заключается в использовании протокола SSH вместо HTTPS в URL репозитория. Перед этим необходимо убедиться, что на компьютере установлен и настроен SSH ключ, который также добавлен в учетную запись GitHub.

pip install git+ssh://git@github.com/username/repository.git

Тем не менее, иногда при использовании SSH могут возникнуть проблемы с правами доступа. В таком случае рекомендуется использовать токен доступа GitHub.

Токен доступа можно создать в настройках учетной записи GitHub. При создании токена необходимо предоставить ему права на чтение репозитория.

После создания токена его можно использовать в команде pip следующим образом:

pip install git+https://<токен>@github.com/username/repository.git

Подставьте свой токен вместо в указанной команде. Это позволит pip установить пакет из приватного репозитория на GitHub.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *