Forum: PC-Programmierung python findet installierte module in virtuelle umgebung nicht


von Chandler B. (chandler)


Lesenswert?

hallo,
ich habe mit python (python3 unter Windows10) ein virtuelles environment 
erstellt und aktiviert und dann mittels pip twilio erstellt
1
python -m venv .venv
2
.venv\Scripts\activate.bat
3
pip install twilio

Wenn ich mir jetzt mit
1
pip list
 alle module anzeigen lasse, bekomme ich auch twilio angezeigt.
1
(.venv) H:\Projects\Python\vitrualEnvironment>pip list
2
Package            Version
3
------------------ --------
4
aiohappyeyeballs   2.3.5
5
aiohttp            3.10.3
6
aiohttp-retry      2.8.3
7
aiosignal          1.3.1
8
async-timeout      4.0.3
9
attrs              24.2.0
10
certifi            2024.7.4
11
charset-normalizer 3.3.2
12
frozenlist         1.4.1
13
idna               3.7
14
multidict          6.0.5
15
pip                20.1.1
16
PyJWT              2.9.0
17
requests           2.32.3
18
setuptools         47.1.0
19
twilio             9.2.3
20
urllib3            2.2.2
21
yarl               1.9.4
22
WARNING: You are using pip version 20.1.1; however, version 24.2 is available.
23
You should consider upgrading via the 'h:\projects\python\vitrualenvironment\.venv\scripts\python.exe -m pip install --upgrade pip' command.

aber wenn ich eingebe
1
(.venv) H:\Projects\Python\vitrualEnvironment>twilio --version
bekomme ich den Fehler
1
(.venv) H:\Projects\Python\vitrualEnvironment>twilio --version
2
Der Befehl "twilio" ist entweder falsch geschrieben oder
3
konnte nicht gefunden werden.

Wieso wird das nicht erkannt?

von Jonas B. (jibi)


Lesenswert?

CMD neu gestartet?

von Chandler B. (chandler)


Lesenswert?

Jonas B. schrieb:
> CMD neu gestartet?

Das nicht.
Habe ich jetzt aber ausprobiert und selber fehler.
(Habe vorher wieder .venv\Scripts\activate.bat aufgerufen)

von Chandler B. (chandler)


Lesenswert?

Wenn ich nur
1
(.venv) H:\Projects\Python\vitrualEnvironment>twilio --version
aufrufe, wird es mit python von meinem PC überprüft. Dort ist es 
natürlich auch nicht enthalten.

Dieses Python liegt in:
.venv\Scripts\python.exe
Wie ich damit die Version abfragen kann, weiß ich nicht,

Aber der Code startet jetzt zumindest, wenn ich
1
H:\Projects\Python\vitrualEnvironment>.venv\Scripts\python.exe main.py
aufrufe

von Ein T. (ein_typ)


Lesenswert?

Chandler B. schrieb:
> ich habe mit python (python3 unter Windows10) ein virtuelles environment
> erstellt und aktiviert und dann mittels pip twilio erstellt

Ich kenne mich zwar nicht mit Windows aus, aber mit Python. Deswegen 
kann ich Dir sagen: nein, Du hast twilio mit den besagten Befehlen nicht 
"erstellt", sondern die Python-API für Twilio installiert.

> aber wenn ich eingebe
>
1
> (.venv) H:\Projects\Python\vitrualEnvironment>twilio --version
> bekomme ich den Fehler
>
1
> (.venv) H:\Projects\Python\vitrualEnvironment>twilio --version
2
> Der Befehl "twilio" ist entweder falsch geschrieben oder
3
> konnte nicht gefunden werden.
>
> Wieso wird das nicht erkannt?

Weil Du eine API installiert hast, mithin: eine Programmbibliothek, die 
Du in einem Python-Programm dazu benutzen kannst, um die Dienste von 
Twilio mit der Programmiersprache Python anzusprechen. Oder, anders 
gesagt: Du kannst Dir ein Python-Programm schreiben (entwickeln, 
programmieren... you get the idea) und darin die gerade installierte API 
benutzen, um innerhalb Deines Programm den Twilio-Dienst anzusprechen.

Was Du offensichtlich NICHT installiert hast, ist ein Programm namens 
twilio, und deswegen kann bei Deinem Aufrufsversuch auch kein Programm 
dieses Namens gefunden werden. Ich weiß nicht, ob es ein solches 
Programm gibt und wo Du es herbekommen kannst, wenn es eines gibt, aber 
die Installation einer API für Python installiert offensichtlich kein 
solches Programm. Nebenbei bemerkt gibt es Python-APIs, die bei der 
Installation ZUSÄTZLICH zur API auch ein oder gar mehrere Programme 
installieren können, aber die twilio-API für Python gehört offenbar 
nicht dazu.

Neustarts Deiner Shell werden bei dem Problem nicht helfen, fürchte ich. 
Du wirst Dir entweder eine andere Bezugsquelle für das gewünschte 
Programm suchen müssen -- wobei es durchaus sein kann und auch nicht 
unwahrscheinlich ist, daß dieses Programm dann seinerseits in Python 
geschrieben ist und die von Dir gerade installierte Programmbibliothek 
benötigt -- oder Du mußt selbst eines schreiben. HTH, viel Glück und 
Erfolg!

von Re D. (re_d228)


Lesenswert?

Chandler B. schrieb:
> Wie ich damit die Version abfragen kann, weiß ich nicht,

Chandler B. schrieb:
> pip list

-> Zeigt dir die Version an

Ansonsten ist ein "Pythonmodul" halt nicht unbedingt ein ausführbares 
Programm, sondern eine Bibliothek deren Inhalt du durch import nutzen 
kannst.

von Andreas M. (amesser)


Lesenswert?

Chandler B. schrieb:
> bekomme ich den Fehler(.venv)
> H:\Projects\Python\vitrualEnvironment>twilio --version
> Der Befehl "twilio" ist entweder falsch geschrieben oder
> konnte nicht gefunden werden.
>
> Wieso wird das nicht erkannt?

Twilio ist eine Programbibliothek für Python (aka "Package"), kein 
eigenständiges Program.

von Jens G. (jensig)


Lesenswert?

Chandler B. schrieb:
> ...\vitrualEnvironment ...

Was ist "vitrual"?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.