Подтвердить что ты не робот

(Python) Используйте локальную библиотеку вместо ее установки

Script:
Я написал script в python, который иногда отправляет твиты в твиттер
Он использует только одну библиотеку: tweepy
после установки библиотеки он работает, отлично.

Проблема:
Я хотел бы разместить script на сервере, где у меня нет привилегий для установки чего-либо Было бы здорово, если бы я мог просто включить его локально из папки, в которой я ее нашел.
На данный момент все, что мне нужно включить в начало моего файла, это:

import tweepy

tweepy folder (У меня есть файл __init__.py, который, как мне кажется, важен.

Вопрос:
Как я могу использовать эту библиотеку без ее установки? в основном я хочу заменить: import tweepy на import local_folder/tweepy/*

это может быть просто здравым смыслом python, но я застрял!

4b9b3361

Ответ 1

EDIT: Этот ответ устарел. Вы должны использовать VirtualEnv. Если у вас аллергия на стороннее ПО по какой-либо причине (в этом случае, почему вы устанавливаете библиотеки?), Есть что-то, называемое venv, который буквально встроен в python3, поэтому нет оправдания не использовать какую-то виртуализацию. (Однако большинство людей, живущих в сообществе, предпочитают VirtualEnv. См. fooobar.com/questions/8544/....)

VirtualEnv устанавливает локальный интерпретатор python с локальной папкой пакетов и всем остальным. В дополнение к этому, полностью решающему вопрос об административных привилегиях, наиболее важной особенностью VirtualEnv является то, что он позволяет вам сохранять среду в отдельности. Если у вас есть один проект, для которого требуется версия Foo 2.3, а другая, для которой требуется Foo версия 1.5, вы не можете использовать их в одной и той же среде; вы должны поддерживать их среду отдельно от VirtualEnv.


Есть несколько возможностей:

Если вы уже знаете, как устанавливать модули Python, установка по умолчанию distutils уже включает в себя установку для каждого пользователя. Просто запустите python setup.py install --user вместо python setup.py install. Это проще всего, так как это не требует добавления какого-либо исходного кода.

Вы также можете запустить script с каталогом tweepy в качестве текущего рабочего каталога.

Вы можете добавить переменную окружения с именем PYTHONPATH в любую среду (например, оболочку), которую вы используете для запуска script, и создать путь к tweepy.

Если все остальное не работает, и вы действительно хотите отредактировать исходный код, вам нужно отредактировать sys.path. sys.path - это список мест, где Python будет искать код.

В своем коде напишите:

import sys
sys.path.append("/path/to/your/tweepy/directory")

import tweepy

Ответ 2

вы должны установить виртуальную среду python, чтобы вам не приходилось когда-либо беспокоиться о наличии прав администратора, и вы можете установить все, что захотите.

Ответ 3

Также, если вы хотите использовать его часто, как в script. Простой способ экспортировать "PYTHONPATH" в файл bashrc/zshrc и указать путь к каталогу, содержащему ваш код.

Например:

export PYTHONPATH=$PYTHONPATH:$HOME/path/to/module

Таким образом, вам не нужно делать sys.path при каждом перезапуске.

Счастливое кодирование