Vinnaren i pepparkakshustävlingen!
2022-04-21, 22:20
  #1
Medlem
Bonnatorps avatar
Nu vill jag förbereda mig lite bättre inför nästa projekt jag tar på mig, och jag känner att det är rätt så viktigt att kunna använda debuggern i Visual Studio så jag slipper skriva en massa kontrollprints överallt.

Så hur gör jag för att mina importer ska fungera korrekt när jag kör koden direkt i VS, istället för i powershell?
Jag förstår så långt att när jag kör pip install package så installeras modulerna i någon obskyr mapp som finns i miljövariablerna, men hur kommer jag runt det?

Måste jag lokalisera mappen i början av pytonkoden, eller hur gör man?
Citera
2022-04-22, 07:43
  #2
Moderator
Protons avatar
Citat:
Ursprungligen postat av Bonnatorp
Nu vill jag förbereda mig lite bättre inför nästa projekt jag tar på mig, och jag känner att det är rätt så viktigt att kunna använda debuggern i Visual Studio så jag slipper skriva en massa kontrollprints överallt.

Så hur gör jag för att mina importer ska fungera korrekt när jag kör koden direkt i VS, istället för i powershell?
Jag förstår så långt att när jag kör pip install package så installeras modulerna i någon obskyr mapp som finns i miljövariablerna, men hur kommer jag runt det?

Måste jag lokalisera mappen i början av pytonkoden, eller hur gör man?
VS eller VS code?

Är det VS ka du kanske kolla på https://visualstudio.microsoft.com/vs/features/python/ där de har ett avsnitt om debugging

Är det VS code kan du kanske kolla på https://code.visualstudio.com/docs/languages/python där de har ett avsnitt om debugging med.
Citera
2022-04-22, 10:47
  #3
Moderator
Pontiac-Garages avatar
Citat:
Ursprungligen postat av Bonnatorp
Nu vill jag förbereda mig lite bättre inför nästa projekt jag tar på mig, och jag känner att det är rätt så viktigt att kunna använda debuggern i Visual Studio så jag slipper skriva en massa kontrollprints överallt.

Så hur gör jag för att mina importer ska fungera korrekt när jag kör koden direkt i VS, istället för i powershell?
Jag förstår så långt att när jag kör pip install package så installeras modulerna i någon obskyr mapp som finns i miljövariablerna, men hur kommer jag runt det?

Måste jag lokalisera mappen i början av pytonkoden, eller hur gör man?

För det första, så rekommenderas Visual Studio Code för Pythonprogrammering, du kan såklart använda Visual Studio också men skulle hellre rekommendera VSC.

Har du en modul installerad så hittas den ju i Pythonfilerna, så varför skulle du inte komma åt den där?
Citera
2022-04-22, 13:00
  #4
Medlem
Bonnatorps avatar
Citat:
Ursprungligen postat av Pontiac-Garage
För det första, så rekommenderas Visual Studio Code för Pythonprogrammering, du kan såklart använda Visual Studio också men skulle hellre rekommendera VSC.

Har du en modul installerad så hittas den ju i Pythonfilerna, så varför skulle du inte komma åt den där?
Såvitt jag förstår så sker importen från miljön programmet körs i.

Kör jag programmet via powershell, då hämtas modulerna via miljövariablerna, om jag kör programmet direkt i visual studio så klagas det på att modulerna inte går att importera för att de inte ligger samma mapp som programmet.

Citat:
Ursprungligen postat av Proton
VS eller VS code?

Är det VS ka du kanske kolla på https://visualstudio.microsoft.com/vs/features/python/ där de har ett avsnitt om debugging

Är det VS code kan du kanske kolla på https://code.visualstudio.com/docs/languages/python där de har ett avsnitt om debugging med.
Jo alltså debuggingen kan jag någorlunda, inga problem där.
Men jag kan inte debugga för att jag inte kan köra programmet via min IDE, för att modulerna inte kan importeras, vilket i sin tur beror på att de inte ligger i samma mapp som py-filen som körs.

Finns det något sätt att hänvisa till var all import ska ske ifrån?
__________________
Senast redigerad av Bonnatorp 2022-04-22 kl. 13:04.
Citera
2022-04-22, 14:36
  #5
Medlem
Citat:
Ursprungligen postat av Pontiac-Garage
För det första, så rekommenderas Visual Studio Code för Pythonprogrammering, du kan såklart använda Visual Studio också men skulle hellre rekommendera VSC.

Har du en modul installerad så hittas den ju i Pythonfilerna, så varför skulle du inte komma åt den där?

Beroende på vilken plattform han sitter på så kan VSC vara rejält strulig med att hitta importer. Eftersom att han skriver att han använder PowerShell så antar jag att det är en Windomsmaskin. Ofta har det att göra med pip, om han kör pip eller pip3 eller till och med pip och pip3 som poweruser/sudo. Har han till exempel installerat en modul med pip, men använder Python3.6-3.9 i VSC kommer VSC att vägra att acceptera importen då den tror att modulen inte finns. Samma gäller om du råkar installera modulen med en poweruser, för då äger poweruser/sudo rättigheten till modulen och VSC vägrar då att erkänna att modulen är installerad.

Jag har t.ex stora problem med vissa importer i VSC, då mitt system opererar på kernelnivå med python3.6 samtidigt som att jag både har python 3.8 och 3.9 installerade. VSC vägrar att t.ex. hitta Alchemy oavsett om jag väljer alla versioner jag har i VSCs lilla meny för "språk".

Att hålla på med detta är heller ingen nybörjarfråga ;P Att reda ut dependencies för Python i olika IDEs är ett mer heckel än att loppa igenom en nestad json.
Citera
2022-04-22, 15:24
  #6
Moderator
Pontiac-Garages avatar
Citat:
Ursprungligen postat av Methos
Beroende på vilken plattform han sitter på så kan VSC vara rejält strulig med att hitta importer. Eftersom att han skriver att han använder PowerShell så antar jag att det är en Windomsmaskin. Ofta har det att göra med pip, om han kör pip eller pip3 eller till och med pip och pip3 som poweruser/sudo. Har han till exempel installerat en modul med pip, men använder Python3.6-3.9 i VSC kommer VSC att vägra att acceptera importen då den tror att modulen inte finns. Samma gäller om du råkar installera modulen med en poweruser, för då äger poweruser/sudo rättigheten till modulen och VSC vägrar då att erkänna att modulen är installerad.

Jag har t.ex stora problem med vissa importer i VSC, då mitt system opererar på kernelnivå med python3.6 samtidigt som att jag både har python 3.8 och 3.9 installerade. VSC vägrar att t.ex. hitta Alchemy oavsett om jag väljer alla versioner jag har i VSCs lilla meny för "språk".

Att hålla på med detta är heller ingen nybörjarfråga ;P Att reda ut dependencies för Python i olika IDEs är ett mer heckel än att loppa igenom en nestad json.

Sant.

Skulle iallafall rekommendera VSC i början.
Citera
2022-04-22, 16:51
  #7
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av Methos
Beroende på vilken plattform han sitter på så kan VSC vara rejält strulig med att hitta importer. Eftersom att han skriver att han använder PowerShell så antar jag att det är en Windomsmaskin. Ofta har det att göra med pip, om han kör pip eller pip3 eller till och med pip och pip3 som poweruser/sudo. Har han till exempel installerat en modul med pip, men använder Python3.6-3.9 i VSC kommer VSC att vägra att acceptera importen då den tror att modulen inte finns. Samma gäller om du råkar installera modulen med en poweruser, för då äger poweruser/sudo rättigheten till modulen och VSC vägrar då att erkänna att modulen är installerad.

Jag har t.ex stora problem med vissa importer i VSC, då mitt system opererar på kernelnivå med python3.6 samtidigt som att jag både har python 3.8 och 3.9 installerade. VSC vägrar att t.ex. hitta Alchemy oavsett om jag väljer alla versioner jag har i VSCs lilla meny för "språk".

Att hålla på med detta är heller ingen nybörjarfråga ;P Att reda ut dependencies för Python i olika IDEs är ett mer heckel än att loppa igenom en nestad json.
Om man använder VSC så finns det ett särskilt terminalfönster. I detta brukar jag installera moduler med pip3 för att få dem att funka när man kör i VSC-debuggern. Eftersom jag enbart kör Python3 så använder jag enbart pip3

pip/pip3 behöver inte köras sudo?
Citera
2022-04-22, 16:57
  #8
Medlem
Citat:
Ursprungligen postat av Enterprise
Om man använder VSC så finns det ett särskilt terminalfönster. I detta brukar jag installera moduler med pip3 för att få dem att funka när man kör i VSC-debuggern. Eftersom jag enbart kör Python3 så använder jag enbart pip3

pip/pip3 behöver inte köras sudo?

Nej, normalt ska man inte köra pip i sudo, men på mitt system har jag råkat installera pip i sudo och då kan inte någon annan normalanvändare köra pip. Sedan använder min kernel Python 2 och python 3.6 och det blir således en kollision över vad systemet använder. Det är något som alla användare av Ubuntuderivat får lida av.

För att göra allt mer komplicerat kan jag installera Pythonmoduler med både pip(3) och apt. Vilket också blir roligt när apt gör en sak och pip(3) gör en annan sak.


Till Mod: ?Ska vi försöka hålla dependencies och IDE-problem i en särskild tråd? För det är inte nybörjarfrågor av snabb karaktär.?
__________________
Senast redigerad av Methos 2022-04-22 kl. 16:59.
Citera
2022-04-22, 17:32
  #9
Moderator
vhes avatar
Diskussion om konfiguration av Visual Studio (eller möjligen Visual Studio Code - vi väntar med spänning på ett förtydligande!) utbruten till egen tråd enligt Methos förslag. Bra idé.

/Moderator
Citera
2022-04-22, 22:21
  #10
Medlem
Bonnatorps avatar
Det var tydligen så enkelt som att följa de första stegen i den här guiden.

Det visade sig att jag hade python 3.9 inställt i VS, men modulerna var installerade i python 3.10.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback