Edit: basé sur une Ulf Rompe le commentaire, il est important que vous utilisez "1" au lieu de "0", sinon vous allez casser sys.chemin de la documentation
Je fais du python pour un bon moment maintenant (plus d'un an), et je suis toujours confus quant à pourquoi les gens vous recommandons d'utiliser le sys.chemin d'accès.ajouter au lieu de sys.chemin d'accès.insérer. Laissez-moi vous montrer.
Disons que je suis en train de travailler sur un module nommé PyWorkbooks (qui est installé sur mon ordinateur), mais je suis à la fois de travailler sur un autre module (disons PyJob) qui intègre PyWorkbooks. Comme je suis en train de travailler sur PyJob je trouve des erreurs dans PyWorkbooks que je suis en train de corriger, donc je voudrais importer une version de développement.
Il existe de multiples façons de travailler sur les deux (j'ai pu mettre mes PyWorkbooks projet à l'intérieur de PyJob, par exemple), mais parfois, j'ai encore besoin de jouer avec le chemin d'accès. Cependant, je ne peux pas tout simplement faire un sys.chemin d'accès.ajouter dans le dossier où PyWorkbooks est à. Pourquoi? Parce que python trouverez mes installé PyWorkbooks première!
C'est pourquoi vous devez faire un sys.chemin d'accès.l'insert(1, path_to_dev_pyworkbooks)
En résumé:
sys.path.append(path_to_dev_pyworkbooks)
import PyWorkbooks # does NOT import dev pyworkbooks, imports installed one
ou:
sys.path.insert(1, path_to_dev_pyworkbooks) # based on comments you should use **1 not 0**
import PyWorkbooks # imports correct file
Cela a causé quelques décrochements pour moi dans le passé, et j'aimerais vraiment que si nous (en tant que communauté) ont commencé à recommander sys.chemin d'accès.l'insert(1, chemin), comme si vous y insérant manuellement un chemin d'accès, je pense qu'il est sûr de dire que c'est le chemin d'accès que vous souhaitez utiliser!
Ou dois-je quelque chose de mal? C'est une question qui est parfois me dérange et je voulais en plein!