Just nu i M3-nätverket
Gå till innehåll
ljungholm

No module named 'matlab.engine' matlab is not a package _Python Prb

Rekommendera Poster

Hej jag har nyligen installerat matlab och python och är en total noob när det gäller programmering.
Nu försöker jag köra ett matlab-script i python enl exempel på https://se.mathworks.com/help/matlab/matlab_external/call-user-script-and-function-from-python.html
 

Jag installerade Python 3.6.7rc1 - 2018-09-26 64-bit versionen och använder mig av Windows 7 64-bit och matlab R2018b 64-bit.
Men enligt instruktioner på matlabs websidor ska jag använda 3.6 så jag undrar om jag kanske har installerat fel version.
Har jag skrivit rätt i Windows miljövariabel när jag anger C:\Users\Martin\AppData\Local\Programs\Python\Python36?
Klistrar in en skärmdump här under ihop om att den kan ge ytterligare information om mitt problem.
 

 

moduler_saknas_python.png

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Ser nu att jag har råkat spara python-scriptet i en map och matlab filen i en annan. Är det viktigt att de är i samma map?
Försökte spara en ny python-fil i samma map som matlab filen men det verkar inte som min editor ställer in sig själv. Efter vad jag kan läsa i programmets status-bar
 

Python_Thonny_Paht.png

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Försöker hjälpa mig själv vidare med problemet och har hittat lite ledning nu på nätet.
https://se.mathworks.com/help/matlab/matlab_external/install-the-matlab-engine-for-python.html
 

Men det känns så obekvämt att jobba med kommandotolken.
Kan ni säga om det är meningen att jag ska skriva C:\Program Files\MATLAB\R2018b där det står matlabroot och om man i kommandotolken ska fortsätta på samma rad, även om det enl ledning är en radbrytning.

 

Installera_med_CMD.png

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
2 timmar sedan, skrev ljungholm:

Kan ni säga om det är meningen att jag ska skriva C:\Program Files\MATLAB\R2018b där det står matlabroot

Du ska skriva (klistra in) det du får fram när du gör så här:

Citat

Start MATLAB and type matlabroot in the command window.

 

2 timmar sedan, skrev ljungholm:

om man i kommandotolken ska fortsätta på samma rad

Om du menar raderna som börjar med "cd" och "python" så är det två olika kommandon och "cd"-raden ska avslutas med Enter-tangenten.

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Tack så mycket för hjälp. Blir ängslig när jag behöver göra saker utanför det vardagliga i Windows.
Tyvärr saknade jag skrivrättigheter till den mapen. Funderar på om det kan hjälpa att köra cmd som administratör men ska nog undvika det.
Testar en annan metod och nu verkar processen gå igenom cmd men när jag kör mitt python script får jag ändå samma felmeddelande.
Suck...


 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
58 minuter sedan, skrev ljungholm:

Funderar på om det kan hjälpa att köra cmd som administratör men ska nog undvika det.

Det är vad som står på sidan du länkade till förut.

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Sitter fast med det här problemet. Idag har jag gjort om installationen där jag kört matlab och CMD som administratör.
Hittade lite mer hjälp på sidan: https://se.mathworks.com/help/matlab/matlab_external/undefined-variable-py-or-function-py-command.html#buialof-67
 

Följer instruktioner men får felmeddelande när jag kör kommandot py.importlib_module('mymod') i matlab.

Testar att köra

if count(P,'modpath') == 0
    insert(P,int32(0),'modpath');
end

Och får nu.
>> P

P =

  Python list with no properties.

    ['modpath', '', 'C:\\Users\\Martin\\AppData\\Local\\Programs\\Python\\Python36\\python36.zip', 'C:\\Users\\Martin\\AppData\\Local\\Programs\\Python\\Python36\\DLLs', 'C:\\Users\\Martin\\AppData\\Local\\Programs\\Python\\Python36\\lib', 'C:\\Users\\Martin\\AppData\\Local\\Programs\\Python\\Python36', 'C:\\Users\\Martin\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages']

Min fråga är nu om det är meningen att jag ska lägga in allt som står i utskriften ovan efter modpath i windows miljö variabel?
Kan säga att jag redan har gjort det men inget förändrades, var noga med att ändra alla ',' till ; och dubbel slash till \

 

modpath.png

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Det verkar funka att starta en matlab-motor (heter det så?) ifrån en python terminal. Men inte från min editor ännu.
Jag undrar vad det beror på.
 

Nu_Verkar_Det_Funka.png

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×