Expliquer pourquoi numpy ne doit pas être importé du répertoire source
Avertissement de la recherche:
J'ai examiné la suite des autres StackOverflow questions:
- Comment import numpy en python shell
- Comment puis-je utiliser numpy sans l'installer?
- L'importation d'un module à partir d'un chemin d'accès relatif
Pour certains peut-être, ceux qui peuvent répondre à ma question, mais d'après mes connaissances, je ne comprends toujours pas la situation.
Je suis en train d'import numpy, de sorte que matplotlib de travail, mais lors de l'exécution de la __init__.py
fichier dans le numpy dossier, le message d'erreur suivant s'affiche:
ImportError: Error importing numpy: you should not try to import numpy from
its source directory; please exit the numpy source tree, and relaunch
your python intepreter from there.
Expliquer ce que cela signifie pour importer quelque chose à partir de son répertoire source, par opposition à une autre façon de l'importer. Veut-il dire qu'il ne doit pas être source de code lorsqu'il est importé? Ou veut-il dire qu'il est littéralement juste le mauvais répertoire ou d'un dossier que je suis de l'importation. Je sais qu'un autre StackOverflow réponse est:
Le message est assez explicite; votre répertoire de travail ne devrait pas être le numpy répertoire source lorsque vous appelez Python, numpy doit être installé et votre répertoire de travail devrait être rien, mais le répertoire dans lequel il vit.
Cependant, je ne le comprends pas. N'êtes-vous pas censé importer des choses que vous voulez travailler avec? Je suis en supposant que la commande importer combine le répertoire source dans votre répertoire de travail courant dans la présente déclaration.
J'ai aussi lu les autres réponses telles que:
- À l'aide de
distutils
pour installer les répertoires locaux - À l'aide de
virtualenv
pour créer un système virtuel répertoire - À l'aide de Enthought de l'EPD avoir numpy pré-installé dans ce que je crois être le système de répertoire,
et - À l'aide d'une commande comme
$ dpkg -i --force-not-root --root=$HOME mypackagename.deb
pour créer ce que je crois est une sorte de sous-répertoire système qui est considéré comme un système de répertoire.
Donc, corrigez-moi si je me trompe, mais ne numpy en quelque sorte fortement besoin d'être en quelque sorte installé dans le répertoire système?
L'état de la Machine:
Je suis à l'aide de machines Windows sans administrative privlidges.
Ils ont de Python 3.3, Shell ainsi que matplotlib installé.
Lors de l'exécution de l'invite de commande, python
et python3
ne sont pas reconnus. J'ai pour exécuter l'interface Python à partir du menu des applications.
Je peux succès de commencer l'import matplotlib de même mon propre répertoire, différente de la leur, mais il s'arrête après avoir atteint __init__.py
de la numpy le module, s'il existe, et signale l'erreur indiqué ci-dessus.
Mise à jour:
Heureusement, mon administrateurs ont la possibilité de directement installer numpy correctement dans le site-packages
dossier. Merci de répondre à ma question. Je comprends la situation beaucoup plus à cause de vous.
source d'informationauteur Timothy Swan
Vous devez vous connecter pour publier un commentaire.
numpy comprend des modules d'extension écrite en C. Vous aurez besoin de construire ces modules d'extension avant la numpy est complète. Le plus robuste de la façon de le faire est de le construire et de l'installer à
site-packages
comme d'habitude. Vous pouvez aussi l'installer dans un autre répertoire à l'aide de la standard distutils options pour cette. Cependant, une fois que vous l'avez installé, vous devriez changer votre répertoire à partir de l'arbre source. Python commence à regarder pour les packages dans le répertoire courant, de sorte que la présence de la nature incomplète de numpy paquet (sans la nécessaire construit C modules d'extension) sera choisi en premier et conduire à l'erreur que les message que vous citez. Cela se passe beaucoup de choses, donc nous donner un long message expliquant quoi faire.