J'ai un script python qui utilise le pickle que je cours depuis des semaines. J'ai récemment installé dropbox afin que je puisse exécuter le script sur la machine A, pickle les données à dropbox, puis charger les données de la boîte de dépôt sur la machine B. Donc, j'avais l'habitude d'écrire dans un fichier dans le chemin du script, maintenant je écrire dans un fichier séparé synchronisé par dropbox.Python: pickle crée une erreur d'importation de module
Quand je vais à charger les données, je reçois l'erreur suivante:
data = pickle.load(f)
ModuleNotFoundError: No module named 'pandas._libs'
Cependant, cette ligne avant fonctionne très bien:
import pandas as pd
En fait, si je lance le script qui ya le dumping (plutôt que de charger) des données, il fonctionne également avec succès.
J'ai également vérifié que le chemin est correct en utilisant sys.path.
Quel pourrait être le problème?
Il est appelé depuis pickle.load (f) – trob
@SamCraig: non, pickle charge des objets via une référence (module, nom). Vous ne stockez pas la source d'un type, vous stockez simplement où vous pouvez le charger à partir de la prochaine fois. –
@SamCraig: mais dans ce cas un objet a été décapé qui indique qu'il réside dans le module 'pd._libs'. Apparemment, ce module n'est pas disponible sur l'autre machine. –