Script:
J'ai écrit un script en python qui envoie occasionnellement des tweets à Twitter
Il n'utilise qu'une seule bibliothèque appelée: tweepy
après avoir installé la bibliothèque, cela fonctionne, parfait.
Problème:
Je voudrais héberger le script sur un serveur où je n'ai pas les privilèges pour installer quoi que ce soit
Ce serait formidable si je pouvais simplement l'inclure localement à partir du dossier dans lequel je l'ai.
À partir de maintenant, tout ce que je dois inclure en haut de mon fichier est:
import tweepy
le dossier tweepy (a un __init__.py
fichier qui je pense est important.
Question:
Comment puis-je utiliser cette bibliothèque sans l'installer?
en gros, je veux remplacer: import tweepy
avec import local_folder/tweepy/*
cela pourrait juste être python bon sens, mais je suis coincé!
EDIT: Cette réponse est obsolète. Vous devez utiliser VirtualEnv . Si vous êtes allergique aux logiciels tiers pour une raison quelconque (dans ce cas, pourquoi installez-vous des bibliothèques?), Il existe quelque chose appelé venv , qui est littéralement intégré à python3, donc il n'y a aucune excuse de ne pas utiliser une sorte de virtualisation. (Cependant, la plupart des personnes actives dans la communauté préfèrent VirtualEnv. Voir https://stackoverflow.com/a/41573588/410889 .)
VirtualEnv installe un interpréteur local python, avec un dossier de packages locaux et tout. En plus de résoudre entièrement le problème des privilèges administratifs, la caractéristique la plus importante de VirtualEnv est qu'il vous permet de conserver votre Si vous avez un projet qui a besoin de Foo version 2.3 et un autre qui a besoin de Foo version 1.5, vous ne pouvez pas les faire partager le même environnement; vous devez garder leurs environnements séparés avec VirtualEnv.
Il existe plusieurs possibilités:
Si vous savez déjà comment installer les modules Python, la configuration par défaut de distutils
inclut déjà une option d'installation par utilisateur. Exécutez simplement python setup.py install --user
au lieu de python setup.py install
. C'est le plus simple, car cela ne nécessite pas l'ajout de code source.
Vous pouvez également exécuter le script avec le répertoire tweepy
comme répertoire de travail actuel.
Vous pouvez ajouter une variable d'environnement nommée PYTHONPATH à n'importe quel environnement (par exemple, le Shell) que vous utilisez pour exécuter votre script et le faire contenir le chemin d'accès à tweepy
.
Si tout le reste échoue et que vous voulez vraiment modifier votre code source, vous devrez modifier sys.path
. sys.path
est une liste d'emplacements où Python recherchera le code.
Dans votre code, écrivez:
import sys
sys.path.append("/path/to/your/tweepy/directory")
import tweepy
vous devez installer un environnement virtuel python afin de ne jamais avoir à vous soucier d'avoir des privilèges d'administrateur, et vous pouvez installer ce que vous voulez.
Aussi si vous voulez l'utiliser fréquemment comme dans un script. Un moyen facile d'exporter "PYTHONPATH" dans le fichier bashrc/zshrc et de donner le chemin vers le répertoire contenant votre code.
Par exemple:
export PYTHONPATH=$PYTHONPATH:$HOME/path/to/module
De cette façon, vous n'avez pas besoin de faire sys.path à chaque redémarrage.
Happy Coding
Solution simple et propre:
import sys
sys.path.insert(0, '/absolute/path/to/package')
import some.cool.package
some.cool.package.doCoolStuff()
réponse ci-dessus avec 'append' ne fonctionne pas avec les packages qui sont également installés