VSCode einrichten - die ersten Schritte ....

Probleme bei der Installation?
Antworten
Benutzeravatar
say_hello
User
Beiträge: 51
Registriert: Sonntag 14. Oktober 2012, 12:33

hallo und guten Tag,

hab VSCode auf dem Rechner - (Linux) neu installiert - und eingegrichtet.

danach hab ich versucht ein Skript laufen zu lassen - mit diesem Ergebnis

Code: Alles auswählen

[Running] python -u "/home/martin/Dokumente/_hub/finder.py"
Traceback (most recent call last):
  File "/home/martin/Dokumente/_hub/finder.py", line 2, in <module>
    import pandas as pd
ModuleNotFoundError: No module named 'pandas'
also - ich glaub dass das damit zu tun hat - mit dem grundsätzlichen Einrichten von VSCode - und den ersten Schritten.

Irgendwas ist da wohl noch noch nicht ganz richtig.
Benutzeravatar
say_hello
User
Beiträge: 51
Registriert: Sonntag 14. Oktober 2012, 12:33

hallo Grubenfox vielen Dank für deine schnelle Antwort u. den Tipp


also wenn ich das im Terminal versuch auszuführen - das untenstehende - dann kommt folgendes raus.

Code: Alles auswählen

[martin@martinsendeavour digital_innovation_hub]$ pip install pandas
bash: pip: Kommando nicht gefunden.
[martin@martinsendeavour digital_innovation_hub]$ pip install pandas
bash: pip: Kommando nicht gefunden.
[martin@martinsendeavour digital_innovation_hub]$ ^C
[martin@martinsendeavour digital_innovation_hub]$ ^C
[martin@martinsendeavour digital_innovation_hub]$ pip install numpy 
bash: pip: Kommando nicht gefunden.
[martin@martinsendeavour digital_innovation_hub]$
Aber ich dachte dass Python nun auf dem System ist...?!

ich teste das alles nun schnell nochmals.


Also vorweg noch das:

hab das so eingerichtet:

Code: Alles auswählen

python -m venv venv
das hat dann einen Ordner mit "venv" eingerichgtet wo der Python interpreter und die pip packages für meine Projekte drinne sind.


Dann das Aktivieren der virtual environment - mit dem folgenden Befehl:

Code: Alles auswählen

source venv/bin/activate

Dann sollte man den Namen unserer virtual environment im terminal prompt sehen.


Jetzt - also an dieser Stelle kann man dann jedes package oder anders gesagt jede library installieren

Dazu kann man pip verwenden - um alles vom dem Python Package Index (PyPI) zu besorgen

z.B :

Code: Alles auswählen

pip install numpy
Zuletzt geändert von say_hello am Montag 13. März 2023, 10:36, insgesamt 1-mal geändert.
Benutzeravatar
Axel-WAK
User
Beiträge: 62
Registriert: Dienstag 29. November 2022, 11:52

pip fehlt wohl

Code: Alles auswählen

sudo apt install python3-pip
OS: LMDE5 *** Homepage *** Github Seite
Benutzeravatar
__blackjack__
User
Beiträge: 13006
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@say_hello: Wenn einem die Shell sagt das Programm kann nicht gefunden werden, nützt das in der Regel auch nicht es mehrfach zu versuchen. Nicht vorhanden ist halt nicht vorhanden. Je nach dem was für ein System eingesetzt wird, heisst das ``pip`` für Python 3 auch ``pip3`` oder es muss erst nachinstalliert werden. Ausserhalb von venvs rufe ich das auch immer über Python als Modul auf, statt als eigenständiges Programm, denn dann kann ich sicher sein, dass es auch zu genau der Python-Installation gehört, mit der dann auch das/die Programme ausgeführt werden, für die das Package installiert wurde. Also ``python3 -m pip install pandas``.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Benutzeravatar
say_hello
User
Beiträge: 51
Registriert: Sonntag 14. Oktober 2012, 12:33

hi und guten Tag Blackjack und Axel

vielen Dank für die Hilfe - und die Tipps - damit sollte ich glaub ich weiterkommen… Denk dass ich grundlegendes noch nicht eingerichtet hab.

Also vorweg: bin auf EndeavourOS ( Arch-Type ) da glaub ich - dass ich mit pacman arbeiten muss - funzt das hier auch mit apt _get !?



vgl. https://www.youtube.com/watch?v=9fzExUAHzyk


bzw: hier: https://forum.endeavouros.com/t/python- ... hode/32523


Q:
habe einen Newbie Frage zu Arch bzw. Endavour OS.
Was ist die empfohlene Methode um Python Module zu installieren? PIP oder via pacman?
Ich habe da nichts sinnvolles gefunden. Ich würde da ja gern pacman nutzen, kann hier aber die benötigten Module nicht finden.
Also was könnt ihr empfehlen?

A:
Wenn es Modules sind, die du generell nutzen willst, dann via pacman oder yay für AUR packages. Wobei bei AUR packages ich immer genau gucke, ob das wirklich passt. Da gibt es auch ab und zu Zeug, was ich von dort nicht installieren würde.
Is es was, welches du nur für ein bestimmtes Projekt benötigst, dann vielleicht besser mit venv oder ähnlichem arbeiten und dort das Zeug mit pip installieren.
hmm - ich muss nochmals nachsehen - glaub dass ich da noch was einrichten muss!?


vgl. hier; https://linuxhint.com/install_pip_archlinux/

Getting Started with PIP on ArchLinux
PIP is a large suite of tools that are used to automate the installation and management of python packages and modules. The name pip is an acronym for PIP Install Packages. It is essentially a package manager for non-standard python packages, those not included in the standard python library.
Every developer who’s ever worked python will tell you that the community packages are a must. Having PIP at your disposal when working with python saves you a lot of time scouring for updates on the web.
In this post, you’ll learn all about setting up PIP on ArchLinux.

Install PIP on ArchLinux

Enter the following command to download PIP with pacman:

Code: Alles auswählen

$ sudo pacman -S python2-pip                #Python 2

$ sudo pacman -S python-pip                #Python 3

done - also das müsste drauf sein - jetzt:

Code: Alles auswählen

[martin@martinsendeavour ~]$ install python3-pip
install: Fehlender Zieldatei‐Operand hinter 'python3-pip'
„install --help“ liefert weitere Informationen.
[martin@martinsendeavour ~]$  sudo pacman -S python-pip  
[sudo] Passwort für martin: 
Abhängigkeiten werden aufgelöst …
Nach in Konflikt stehenden Paketen wird gesucht …

Paket (6)                  Neue Version  Netto-Veränderung  Größe des Downloads

extra/python-attrs         22.2.0-1               0,44 MiB             0,08 MiB
extra/python-cffi          1.15.1-1               1,02 MiB             0,22 MiB
extra/python-cryptography  39.0.2-1               3,94 MiB             0,84 MiB
extra/python-pycparser     2.21-3                 1,39 MiB             0,19 MiB
community/python-wheel     0.38.4-1               0,16 MiB             0,04 MiB
extra/python-pip           23.0.1-1              16,08 MiB             2,52 MiB

Gesamtgröße des Downloads:              3,89 MiB
Gesamtgröße der installierten Pakete:  23,03 MiB

:: Installation fortsetzen? [J/n] j
:: Pakete werden empfangen …
 python-attrs-22.2.0-1-any              85,2 KiB   641 KiB/s 00:00 [------------------------------------] 100%
 python-pycparser-2.21-3-any           194,3 KiB  1163 KiB/s 00:00 [------------------------------------] 100%
 python-cffi-1.15.1-1-x86_64           222,3 KiB  1331 KiB/s 00:00 [------------------------------------] 100%
 python-wheel-0.38.4-1-any              44,1 KiB  1695 KiB/s 00:00 [------------------------------------] 100%
 python-cryptography-39.0.2-1-x86_64   858,6 KiB  4,19 MiB/s 00:00 [------------------------------------] 100%
 python-pip-23.0.1-1-any                 2,5 MiB  10,6 MiB/s 00:00 [------------------------------------] 100%
 Gesamt (6/6)                            3,9 MiB  15,1 MiB/s 00:00 [------------------------------------] 100%
(6/6) Schlüssel im Schlüsselbund werden geprüft                    [------------------------------------] 100%
(6/6) Paket-Integrität wird überprüft                              [------------------------------------] 100%
(6/6) Paket-Dateien werden geladen                                 [------------------------------------] 100%
(6/6) Auf Dateikonflikte wird geprüft                              [------------------------------------] 100%
:: Paketänderungen werden verarbeitet …
(1/6) Installiert wird python-attrs                                [------------------------------------] 100%
(2/6) Installiert wird python-pycparser                            [------------------------------------] 100%
(3/6) Installiert wird python-cffi                                 [------------------------------------] 100%
(4/6) Installiert wird python-cryptography                         [------------------------------------] 100%
(5/6) Installiert wird python-wheel                                [------------------------------------] 100%
Optionale Abhängigkeiten für python-wheel
    python-keyring: for wheel.signatures
    python-xdg: for wheel.signatures
(6/6) Installiert wird python-pip                                  [------------------------------------] 100%
:: Post-transaction-Hooks werden gestartet …
(1/1) Arming ConditionNeedsUpdate...
[martin@martinsendeavour ~]$ 
jetzt muss ich gucken wie es weitergeht


Ich muss jetzt wohl noch gucken ob ich was an dem Setup von VSCode noch einrichten / ändern muss!?
Das ist nun die nächste Frage.

Werde hier mal noch nachgucken.





Update: - hmmm also das kommt immer noch - aber ich glaub dass ich hier wohl noch ein eher grundsätzliches Problem mit dem Setup des VSCode hzw- meiner venv habe. Vielleicht!?
narpfel
User
Beiträge: 643
Registriert: Freitag 20. Oktober 2017, 16:10

Bitte nicht das globale `pip` benutzen, das führt gerne mal zu Chaos.

Beim allerersten gezeigten Installationsversuch ist die venv nicht aktiv?
say_hello hat geschrieben: Montag 13. März 2023, 10:30

Code: Alles auswählen

[martin@martinsendeavour digital_innovation_hub]$ pip install pandas
bash: pip: Kommando nicht gefunden.
[martin@martinsendeavour digital_innovation_hub]$
Denn das hier ist ja offensichtlich nicht passiert:
say_hello hat geschrieben: Montag 13. März 2023, 10:30 Dann sollte man den Namen unserer virtual environment im terminal prompt sehen.
Was sagt ein `which python` nach Aktivieren der venv? Mit aktivierter venv sollte es eigentlich auch ohne installiertes `python-pip` gehen.
Benutzeravatar
say_hello
User
Beiträge: 51
Registriert: Sonntag 14. Oktober 2012, 12:33

hallo Narpfel


vielen Dank für die Rückmeldung und die Tipps.

also - hier diese Rückgabe hab ich erhalten.

Code: Alles auswählen

[martin@martinsendeavour ~]$ source venv/bin/activate
(venv) [martin@martinsendeavour ~]$ which python
/home/martin/venv/bin/python
(venv) [martin@martinsendeavour ~]$ 

__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Und nach der Aktivierung gibt es kein pip?
narpfel
User
Beiträge: 643
Registriert: Freitag 20. Oktober 2017, 16:10

@say_hello: Das sieht gut aus, jetzt sollte `pip install pandas` funktionieren.
Benutzeravatar
say_hello
User
Beiträge: 51
Registriert: Sonntag 14. Oktober 2012, 12:33

Hallo u. guten Tag,


das sieht insges. schon besser aus, würde ich sagen - wenngleich da auch noch ein paar kleine Ungereimtheiten drinne sind


Code: Alles auswählen

[martin@martinsendeavour ~]$ source venv/bin/activate
(venv) [martin@martinsendeavour ~]$ which python
/home/martin/venv/bin/python
(venv) [martin@martinsendeavour ~]$ pip install pandas
Collecting pandas
  Downloading pandas-1.5.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.1/12.1 MB 40.6 MB/s eta 0:00:00
Collecting python-dateutil>=2.8.1
  Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 kB 13.2 MB/s eta 0:00:00
Collecting pytz>=2020.1
  Downloading pytz-2022.7.1-py2.py3-none-any.whl (499 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 499.4/499.4 kB 20.5 MB/s eta 0:00:00
Requirement already satisfied: numpy>=1.21.0 in ./venv/lib/python3.10/site-packages (from pandas) (1.24.2)
Collecting six>=1.5
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Installing collected packages: pytz, six, python-dateutil, pandas
Successfully installed pandas-1.5.3 python-dateutil-2.8.2 pytz-2022.7.1 six-1.16.0

[notice] A new release of pip available: 22.3.1 -> 23.0.1
[notice] To update, run: pip install --upgrade pip
(venv) [martin@martinsendeavour ~]$ pip install pandas
Requirement already satisfied: pandas in ./venv/lib/python3.10/site-packages (1.5.3)
Requirement already satisfied: python-dateutil>=2.8.1 in ./venv/lib/python3.10/site-packages (from pandas) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in ./venv/lib/python3.10/site-packages (from pandas) (2022.7.1)
Requirement already satisfied: numpy>=1.21.0 in ./venv/lib/python3.10/site-packages (from pandas) (1.24.2)
Requirement already satisfied: six>=1.5 in ./venv/lib/python3.10/site-packages (from python-dateutil>=2.8.1->pandas) (1.16.0)

[notice] A new release of pip available: 22.3.1 -> 23.0.1
[notice] To update, run: pip install --upgrade pip
(venv) [martin@martinsendeavour ~]$ pip install tqdm
Collecting tqdm
  Downloading tqdm-4.65.0-py3-none-any.whl (77 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 77.1/77.1 kB 1.6 MB/s eta 0:00:00
Installing collected packages: tqdm
Successfully installed tqdm-4.65.0

[notice] A new release of pip available: 22.3.1 -> 23.0.1
[notice] To update, run: pip install --upgrade pip
(venv) [martin@martinsendeavour ~]$ pip install multiprocessing
Collecting multiprocessing
  Downloading multiprocessing-2.6.2.1.tar.gz (108 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 108.0/108.0 kB 2.5 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [7 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-zr0q_62v/multiprocessing_2496c6231e6e4b89b4860539bf49a6f4/setup.py", line 94
          print 'Macros:'
          ^^^^^^^^^^^^^^^
      SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
      [end of output]

habe übrigens pip noch einem upgrade unterzogen.



Code: Alles auswählen

(venv) [martin@martinsendeavour ~]$ ^C
(venv) [martin@martinsendeavour ~]$ pip install --upgrade pip
Requirement already satisfied: pip in ./venv/lib/python3.10/site-packages (22.3.1)
Collecting pip
  Downloading pip-23.0.1-py3-none-any.whl (2.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 18.0 MB/s eta 0:00:00
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 22.3.1
    Uninstalling pip-22.3.1:
      Successfully uninstalled pip-22.3.1
Successfully installed pip-23.0.1
(venv) [martin@martinsendeavour ~]$ 



Merkwürdig ist - dass im VSCode iwie nichts richtig läuft - denn da bekomme ich immer noch die öminösen Fehlermeldungen:

Code: Alles auswählen

[martin@martinsendeavour digital_innovation_hub]$  /usr/bin/env /bin/python /home/martin/.vscode-oss/extensions/ms-python.python-2023.4.0-universal/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher 34109 -- /home/martin/Dokumente/digital_innovation_hub/school_finder_two.py 
Traceback (most recent call last):
  File "/home/martin/Dokumente/digital_innovation_hub/school_finder_two.py", line 1, in <module>
    import pandas as pd
ModuleNotFoundError: No module named 'pandas'
[martin@martinsendeavour digital_innovation_hub]$ 

Fazit: irgendewas scheint noch gehörig schief zu gehen
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

multiprocessing muss schon seit Python 2.6 oder so nicht mehr installiert werden, sondern ist schon dabei. Warum denkst du das installieren zu muessen?

Und deine letzte Kommandozeile hier ist grosser quatsch. Das /usr/bin/env ist unnoetig, das /bin/python falsch. Was sagt ein simples "python -c 'import pandas'", *wenn das venv aktiv ist*?
narpfel
User
Beiträge: 643
Registriert: Freitag 20. Oktober 2017, 16:10

say_hello hat geschrieben: Montag 13. März 2023, 13:36

Code: Alles auswählen

(venv) [martin@martinsendeavour ~]$ pip install multiprocessing
Collecting multiprocessing
  Downloading multiprocessing-2.6.2.1.tar.gz (108 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 108.0/108.0 kB 2.5 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [7 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-zr0q_62v/multiprocessing_2496c6231e6e4b89b4860539bf49a6f4/setup.py", line 94
          print 'Macros:'
          ^^^^^^^^^^^^^^^
      SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
      [end of output]
Wie kommst du denn darauf
say_hello hat geschrieben: Montag 13. März 2023, 13:36 Merkwürdig ist - dass im VSCode iwie nichts richtig läuft - denn da bekomme ich immer noch die öminösen Fehlermeldungen:

Code: Alles auswählen

[martin@martinsendeavour digital_innovation_hub]$  /usr/bin/env /bin/python /home/martin/.vscode-oss/extensions/ms-python.python-2023.4.0-universal/pythonFiles/lib/python/debugpy/adapter/../../debugpy/launcher 34109 -- /home/martin/Dokumente/digital_innovation_hub/school_finder_two.py 
Hier sieht man, dass VS Code die venv nicht benutzt: Es wird `/bin/python` (also das globale Python), nicht `/home/martin/venv/bin/python` (also das Python aus der venv) aufgerufen. Da ist dann klar, dass das in der venv installierte `pandas` nicht gefunden wird. Du musst also entweder VS Code beibringen, die venv zu benutzen, oder (wahrscheinlich besser) das Programm selbst mit aktivierter venv von der Kommandozeile aufrufen.
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ah, ich hab's geschafft zu ueberlesen, dass das aus VSCode heraus passiert ist. Warum auch immer die diese env und /bin/python Nummer machen.

Narpfel hat's schon beschrieben, aber auch von mir nochmal der Hinweis: VSCode muss entweder das selbst erstellte venv benutzen, *oder* du musst ein von VSCode angelegtes und verwaltetes venv benutzen, um pandas + Co (ohne multiprocessing...) zu installieren.
Benutzeravatar
say_hello
User
Beiträge: 51
Registriert: Sonntag 14. Oktober 2012, 12:33

hallo _deets_


danke

Narpfel hat's schon beschrieben, aber auch von mir nochmal der Hinweis: VSCode muss entweder das selbst erstellte venv benutzen, *oder* du musst ein von VSCode angelegtes und verwaltetes venv benutzen, um pandas + Co (ohne multiprocessing...) zu installieren
das bedeutet - dass die Anlage eines venv auf dem allgem. Terminal hier in diesem Zusammenhang
a. nichts bringt - bzw.
b. nicht für VSCode gültig ist und ergo
d. alles was ich hier im Teminal gemacht hab - im Terminal des VSCode - im grunde nochmals machen muss
narpfel
User
Beiträge: 643
Registriert: Freitag 20. Oktober 2017, 16:10

@say_hello: Eher Möglichkeit c: Du hast gerade was gelernt, was du für die Zukunft immer wieder brauchst.

Das „Terminal in VS Code“ ist übrigens das gleiche wie außerhalb.

Die Dokumentation von VS Code über venvs beschreibt, wie VS Code nach venvs sucht. Also entweder eine neue venv am richtigen Ort anlegen (die alte nicht verschieben, das geht mit venvs nicht), oder VS Code so einstellen, dass es die existierende venv benutzt.
Benutzeravatar
say_hello
User
Beiträge: 51
Registriert: Sonntag 14. Oktober 2012, 12:33

hallo Narpfel

vielen Dank - das ist sicher etwas was ich immer wieder brauchen kann hab die Manpages durchgesehen - und die Schritte in VSCode nachvollogen

dann kam final die Meldung:

Code: Alles auswählen

We have selected the following environment: ~/Dokumente/digital_innovation_hub/.venv/bin/python
Hm ich muss nun mal gucken ob ich hier also weiter bin

Ich werde das mal testen.
Antworten