Numpy auf Windows-Rechner verwenden ohne dieses zu installieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Armend
User
Beiträge: 22
Registriert: Mittwoch 11. April 2018, 11:59

Hallo zusammen,

vielleicht wurde die Frage schonmal gestellt. Da ich aber nichts finden konnte, erstelle ich ein neuen Beitrag.

Ich möchte numpy ohne zu installieren auf meinem Windows-Rechner verwenden. Ich habe die Datei numpy-1.11.2 heruntergeladen.
Anschließend habe ich den Pfad über sys.path.append(r'D:\Library\numpy-1.11.2') hinzugefügt und numpy importiert -> import numpy.

Fehlermeldung:
Traceback (most recent call last):
File "D:\Library\numpy-1.11.2\numpy-1.11.2\numpy\__init__.py", line 126, in <module>
from numpy.__config__ import show as show_config
ModuleNotFoundError: No module named 'numpy.__config__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
import numpy
File "D:\Library\numpy-1.11.2\numpy-1.11.2\numpy\__init__.py", line 131, in <module>
raise ImportError(msg)
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 interpreter from there.


Kann es sein, dass eine Installation zwingend erforderlich ist, da numpy C-Code verwendet?
Andere Packages wie zum Beispiel xlrd-1.2.0 funtkionieren nach obiger Vorgehensweise (sys.path.append(...\xlrd-1.2.0) und dann import xlrd -> alles wunderbar)

Viele Grüße
Armend
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Mit C hat das bestenfalls mittelbar zu tun. Da wird ja nichts kompiliert. Aber die Konfiguration musst du dir anschauen, nachdem du installiert hast (wie gedacht) und rausfummeln, was da den Unterschied macht. Falls da hart kodierte Pfade zb drin sind, ist das etwas schwieriger zu lösen.
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@Armend: was hast Du Dir denn heruntergeladen? Die Sources? Ja, die müssen erst kompiliert werden. Die whl-Datei? Dann sollte es funktionieren. Warum benutzt Du eine Uraltversion von numpy?
Benutzeravatar
__blackjack__
User
Beiträge: 13080
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Armend: Warum willst Du das nicht installieren? Man kann das ja auch nur für den Benutzer installieren, oder sogar ganz unabhängig in einem „virtual environment“.

Das Problem ist, das die ``setup.py`` im Grunde beliebigen Code ausführen kann bei der Installation. Das müsstest Du dann alles von Hand nacharbeiten. Und das obwohl es für so ein Vorgehen eigentlich keinen vernünftigen Grund gibt.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Armend
User
Beiträge: 22
Registriert: Mittwoch 11. April 2018, 11:59

Hallo zusammen,
Warum willst Du das nicht installieren
Für den Rechner, den ich verwende, benötige ich eine Genehmigung, wenn ich etwas installieren möchte. Der Prozess dauert :roll: . Das wollte ich umgehen.
was hast Du Dir denn heruntergeladen? Die Sources? Ja, die müssen erst kompiliert werden. Die whl-Datei? Dann sollte es funktionieren. Warum benutzt Du eine Uraltversion von numpy?
Das müsste die Sources sein. Die Version von numpy, die ich verwendet habe, war für mich erstmal zweitrangig. Ich wollte nur wissen, ob mein Vorhaben bei numpy überhaupt möglich ist.


Ich schaue mir noch die whl-Datei an. Vielleicht funktioniert es damit ohne größeren Zusatzaufwand.


Viele Grüße
Armend
Benutzeravatar
__blackjack__
User
Beiträge: 13080
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Armend: Wie gesagt kannst Du das auch nur für den Benutzer und nicht systemweit installieren, oder eben in einem „virtual environment“. Beides unterscheidet sich letztlich nicht davon, dass Du das manuell machst.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Hier https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy kannst du dir die Wheels runterladen.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Benutzeravatar
__blackjack__
User
Beiträge: 13080
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@ThomasL: Was ist an denen besser als die aus dem Python Package Index? https://pypi.org/project/numpy/#files
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Ich gehe davon aus, dass es die gleichen sind, insofern lautet meine Antwort auf deine Frage: Nichts.
Und @Armend hat jetzt zwei Links bei denen er sich bedienen kann.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Benutzeravatar
__blackjack__
User
Beiträge: 13080
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Naja, eigentlich braucht er ja keine Links, denn die aus dem Package Index werden von ``pip`` ja automatisch genommen.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Aber er will / oder darf es sich ja nicht installieren ....
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Benutzeravatar
__blackjack__
User
Beiträge: 13080
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@ThomasL: Was eine unsinnige Anforderung ist.

Was ist denn der Unterschied zwischen einem „virtual environment“ und sich die Abhängigkeiten von Hand irgendwohin zu entpacken und mit den Pfaden herum zu spielen? Also ausser dass das „virtual environment“ eine vorgesehene, saubere Vorgehensweise ist, während das manuelle ”installieren” Probleme machen kann, weil das so eben nicht vorgesehen ist.

Mit einer requirements.txt oder dem Äquivalent von ``pipenv`` wäre das alles viel einfacher, und sogar noch einfach reproduzierbar.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

@Armend: NumPy per Hand zu kopieren ist wirklich eine ganz doofe Idee. Sowas kann man mit einfachen Modulen machen, die nur mit einer einzigen *.py-Datei daherkommen. Aber NumPy ist dafür zu kompliziert aufgebaut. Am einfachsten ist wahrscheinlich wirklich ein venv.

Hierzu ein Beispiel:

Code: Alles auswählen

python -m venv %USERPROFILE%\numpy-venv
%USERPROFILE%\numpy-venv\Scripts\activate
Dies erzeugt ein venv im Pfad C:\Users\DeinBenutzername\numpy-venv (oder wo auch immer dein Benutzerverzeichnis liegt). Der zweite Befehl aktiviert das venv (wie sich ja leicht erahnen lässt). Nun kannst du den Interpreter via python aufrufen, bist aber sozusagen in der venv-Version.

Du könntest dann NumPy installieren und es würde nur in deinem Benutzer-Ordner landen. Die System-Ordner sowie die systemweite Python-Installation bleiben davon unberührt. Also dann einfach das hier eingeben:

Code: Alles auswählen

python -m pip install numpy
Antworten