Python tcl n'est pas installé correctement
Je viens d'installer graphics.py pour python. Puis, quand j'ai essayé d'exécuter le code suivant:
from graphics import *
def main():
win = GraphWin("My Circle", 100, 100)
c = Circle(Point(50,50), 10)
c.draw(win)
win.getMouse() # Pause to view result
win.close() # Close window when done
main()
Mon interprète m'a donné cette étrange information:
Traceback (most recent call last):
File "F:\CS 101\Python\projects\packer.py", line 8, in <module>
from graphics import *
File "F:\CS 101\Python\lib\site-packages\graphics.py", line 168, in <module>
_root = tk.Tk()
File "F:\CS 101\Python\lib\tkinter\__init__.py", line 1674, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: Can't find a usable init.tcl in the following directories:
{F:\CS 101\Python\tcl\tcl8.5.9} {F:/CS 101/Python/tcl/tcl8.5} {F:/CS 101/Python/lib/tcl8.5} {F:/CS 101/lib/tcl8.5} F:/lib/tcl8.5 {F:/CS 101/library} F:/library F:/tcl8.5.2/library F:/tcl8.5.2/library
F:/CS 101/Python/tcl/tcl8.5/init.tcl: version conflict for package "Tcl": have 8.5.2, need exactly 8.5.9
version conflict for package "Tcl": have 8.5.2, need exactly 8.5.9
while executing
"package require -exact Tcl 8.5.9"
(file "F:/CS 101/Python/tcl/tcl8.5/init.tcl" line 20)
invoked from within
"source {F:/CS 101/Python/tcl/tcl8.5/init.tcl}"
("uplevel" body line 1)
invoked from within
"uplevel #0 [list source $tclfile]"
This probably means that Tcl wasn't installed properly.
Ça veut dire quoi? Que puis-je faire?
PS: je suis à l'aide d'Eclipse (PyDev) pour le codage.
source d'informationauteur psiovana
Vous devez vous connecter pour publier un commentaire.
Concernant ce que vous pouvez fairevous pouvez essayer de modifier votre init.tcl fichier à lire quelque chose comme
package require Tcl 8.5.0-8.6
ou si cela ne fonctionne pas, vous pouvez essayerpackage require -exact Tcl 8.5.2
. J'ai également eu à modifier mon tcl\tk8.5\savoirs traditionnels.tcl fichier de la même manière, pour les Savoirs traditionnels au lieu de Tcl.Si vous modifiez le fichier ne fonctionne pas pour vousvous pouvez télécharger et installer la dernière Tcl à partir de:
Sur ce qu'elle signifiesans plus d'informations, je ne peux que faire des conjectures sur ce droit maintenant. J'ai eu le problème inverse; je vais vous dire à ce sujet dans l'espoir que cela vous donne une idée de ce qu'il peut signifier.
J'ai 8.5.9 installé, mais init.tcl a été exigeant 8.5.2. Je suppose que mon problème a été causé par l'installation de ActiveState python, puis officiel de python (2,7, 64 bits), et/ou d'autres paquets que j'ai installé plus tard. Il y a une note en bas de cette page de téléchargement concernant Tcl/Tk sur MacOS que l'on peut interpréter à dire qu'il y a place pour des problèmes sur le PC. ActiveState Python 2.7 comprend Tcl/Tk 8.5.9, comme documenté ici. À l'aide de 7-zip pour ouvrir les fichiers msi à partir de ActiveState et Python.org et grepping pour "tcl" et "besoin", je peux voir que l'init.tcl dans le ActiveState msi spécifie
package require -exact Tcl 8.5.9
.Ma conjecture est que le 8.5.2 est du python installer (ce qui est apparemment moins grepable), ou un paquet que j'ai installé plus tard. L'exécution de la ActiveState msi en mode réparation ne résout pas le problème, ni de l'exécution de l'Python msi en mode de réparation.
P. S Si ce n'est pas en temps opportun, pourquoi n'ai-je répondre? L'élaboration d'une décente réponse pour vous m'a aidé à comprendre mon problème.
Je sloved en modifiant mon activer le script:
J'ai été confrontée au même problème lors de ma dernière installation de ns2.35 dans ubuntu 11.04.
Après que j'ai installé ns2.35, a obtenu le message de réussite de l'installation de la nouvelle-écosse. Puis-je définir le chemin d'accès dans /.bashrc. Puis j'ai donné des ns de commande qui m'a donné le même message d'erreur obtenu.
Le problème est que, ns exécutable est aussi dans /usr qui est en conflit.
Solution:
cd /usr/local/bin
rm ns
Il y a peut-être un problème de compatibilité avec un autre programme qui utilise la Tk_library variable d'environnement. Dans le thread, j'ai changé la variable d'environnement path et il a fixé mon problème. Il peut être pertinent à votre problème:
Python IDLE ne démarre pas
Je suis en cours d'exécution PyCharm IDE avec Python 2.7.
À l'intérieur de c:\Python27\tcl\tcl8.5\init.tcl "package require-exact Tcl 8.5.2" changement de
À l'intérieur c:\Python27\tcl\tk8.5\tk.tcl "package nécessitent -Tk 8.5.2", " changer pour:
Cela a fonctionné pour moi.
Le CHEMIN d'accès est la solution n'a pas fonctionné pour moi. Je suis sous Win7 python 2.7.
Enfin j'ai édité 2 fichiers:
C:\Python27\tcl\tk8.5\tk.tcl
package require -exact Tk 8.5.2
changement dans
package require Tk 8.5.0-8.6
C:\Python27\tcl\tcl8.5\init.tcl
package require -exact Tcl 8.5.2
changement dans
package require Tcl 8.5.0-8.6
Et cela fonctionne! Déjà mon INACTIVITÉ jamais pop, mais maintenant il fonctionne aussi bien. Cool, merci @Jonathan Spooner et @hlongmore
Je pense que j'ai eu le même problème sous windows8/python2.7. Il a été un enfer d'installations et de configuration des variables d'environnement. Tous sans valeur. Aujourd'hui j'ai trouvé une solution:
Le téléchargement et l'installation de python à D: (afin de préserver mon installation), puis de copier le dossier Tcl dans mon C: installation dans la même position relative: C:\Python27
J'ai eu un problème similaire lors de la génération d'un simple nuage de points en utilisant mayplotlib.pyplot dans Windows 10.J'ai résolu par l'ajout de nouvelles variables d'environnement dans le "Panneau de configuration>Système et Sécurité>Système>paramètres système Avancés>Variables d'Environnement>variables Utilisateur pour \":
Nom de la Variable: TK_LIBRARY, la valeur de la Variable=C:\Python27\tcl\tcl8.5
Nom de la Variable: TK_LIBRARY, la valeur de la Variable=C:\Python27\tcl\tk8.5