J'ai pu corriger un bug que je ne pouvais pas corriger jusqu'à présent, alors notez-le.
Environnement habituel:
local: git push origin master
↓
remote(bare): post-git pull avec receive
↓
remote(cloned): post-exécution de script python avec fusion
Avec ces préférences, exécutez le script post-merge
et
Lorsque ʻimportun module tiers dans le script (Le module est correctement
pip install), Pour une raison quelconque,
git push` déclenche ** ImportError ** sur ce module tiers
La raison pour laquelle j'obtiens une telle erreur est que j'ai plusieurs pythons installés dans remote
et que des pythons involontaires sont en cours d'exécution (c'est-à-dire que je n'utilise pas l'emplacement où j'ai fait pip install
. Python est utilisé).
Par exemple
/usr/bin/python
$HOME/.pythonbrew/pythons/Python-2.7.3/bin/python
Je veux utiliser ** 2 ** Python quand j'en ai deux, mais ** 1 ** Python est en cours d'exécution.
Alors ne lancez pas simplement post-merge.py
Quand je mords ** shellscript ** et que je l'exécute, il s'est exécuté avec succès.
En d'autres termes
post-merge.sh
#!/bin/sh
BIN="$HOME/.pythonbrew/pythons/Python-2.7.3/bin/python"
$BIN $HOME/path/repo/post-merge.py
post-merge.py
import flask
Ah, bien, cela fonctionne.
Recommended Posts