2017-02-02 4 views
1

Symptôme: Dans mon application Django, quand je l'appelle from pysqlite2._sqlite import * je reçois le retraçage Symbol not found: _sqlite3_enable_load_extension quandSymbole introuvable: _sqlite3_enable_load_extension - sqlite installé via homebrew

Contexte:

  • J'ai installé python à l'aide homebrew (python 2.7.13), qui auto installé SQLite
  • Je courais macOS 10.12.3 avec des outils de ligne de commande macOS 10.12, Xcode 8.2.1
  • J'ai installé pysqlite à l'aide pip (pysqlite 2.8.3)

J'ai essayé

  • brew uninstall sqlite et brew uninstall python et réinstallant
  • les ajouter à mon .bash_profile

    export PATH="$(brew --prefix sqlite)/bin:$PATH" 
    LDFLAGS="-L/usr/local/opt/sqlite/lib" 
    CPPFLAGS="-I/usr/local/opt/sqlite/include" 
    export PKG_CONFIG_PATH=“/usr/local/opt/sqlite/lib/pkgconfig” 
    
  • python -c "sqlite3 import" ne renvoie pas d'erreur

Contenu essentiel de retraçage: https://gist.github.com/xwchen/e9704fa34f0463d2117fe9fbb37922a1

Répondre

0

Copié réponse d'ici (https://github.com/Homebrew/homebrew-core/pull/3134). Si vous êtes comme moi, vous avez probablement installé sqlite après l'installation de python3. Quoi qu'il en soit, si quelqu'un trébuche sur cette question et a besoin d'une réponse ...

d'abord enlever SQLite, python et python3 si elle est installée via homebrew

brew uninstall --force python 
brew uninstall --force python3 
brew uninstall --force sqlite 

Cela supprime toutes les copies.

Ensuite, assurez-vous que Xcode 8 ou plus est installé

importants

outils de ligne de commande Re-installation via

xcode-select --install 
sudo xcode-select --reset 

et enfin installer les outils de ligne de commande via un fichier pkg trouvé here.

Rechercher des outils de ligne de commande dans la recherche. (J'ai téléchargé "Outils de ligne de commande (macOS 10.12) pour Xcode 8.dmg") Ensuite, ouvrez DMG et installez le pkg trouvé là.

Maintenant, installez SQLite puis python et python 3 si nécessaire:

brew install sqlite 
brew install python 
brew install python3 

Run brew install python --verbose et assurez-vous qu'il n'y a aucun avertissement, si aucun alors les problèmes devraient être résolus.

Ne pas oublier de faire

pip install setuptools --upgrade && pip3 install setuptools --upgrade