2017-09-10 6 views
1

Je lance actuellement mon site Web et je veux que mon script Python soit exécuté. Cependant, cela ne fonctionne pas quand je l'exécute car cela dépend de 5 bibliothèques. Comment les reliez-vous à votre code? Par exemple, j'utilise pymysql pour écrire des données dans la base de données de mon hôte. Cependant, il ne reconnaît pas pymysql. Existe-t-il un moyen de télécharger tous les paquets une fois sur le serveur et de pouvoir y accéder? Comment lier à eux dans le code?Comment exécuter un script Python sur votre serveur et importer des bibliothèques

Merci beaucoup!

+2

Utilisez pip pour les installer sur le serveur. – Rishav

Répondre

1

Il y a plusieurs façons de faire cela, le plus simple est probablement d'utiliser pip freeze > requirements.txt pour obtenir une liste (requirements.txt) des dépendances que vous avez installées pour votre projet (qui, si vous utilisez virtualenv , est seulement ceux installés pour votre projet).

Si vous avez installé plusieurs bibliothèques dont vous n'avez pas besoin, vous pouvez les supprimer de la liste ou créer manuellement la liste.

Vous pouvez faire pip installer à nouveau toutes les bibliothèques sur votre hôte en faisant pip -r requirements.txt.

+0

Merci pour votre réponse. Auriez-vous les étapes pour accéder à votre serveur et pour "pip installer" mes paquets là-bas? – sammtt

+0

Habituellement, cela se fait en se connectant au serveur via SSH, mais il y a probablement des panneaux d'administration qui vous permettent d'appeler des commandes directement sur le serveur. Cela dépend de la façon dont votre hôte a configuré ces choses. – MatsLindh

+0

Je suis confronté à un problème dans http.client.py qui est "Traceback (dernier appel dernier): Fichier" ./data.py ", ligne 9, dans urllib.request import urlopen, Request File"/home /www/urllib/request.py ", ligne 88, dans le fichier import http.client" /home/www/http/client.py ", ligne 1063 chunk = f '{len (chunk): X} \ r \ n '.encode (' ascii ') + bloc \^SyntaxError: syntaxe invalide SyntaxError: syntaxe invalide1 " – sammtt

1

La meilleure solution consiste à compresser votre projet et à le déployer sur votre serveur distant.

Les meilleures pratiques de nos jours est décrit dans « Packaging and Distributing Projects » de l'Autorité de l'emballage Python

Vous pouvez suivre les Sample Python project disponibles sur GitHub.

Une autre méthode consiste à créer une bibliothèque ou une application à l'aide d'un modèle de projet. L'un des célèbres est cookiecutter-pypackage de Audrey Roy Greenfeld Cookiecutter.