kompilering fel
Hej,
Jag är ny med python och försöker att köra följande kod:
from matplotlib import pyplot as plt
def draw_square():
ax = matplotlib.axes(xlim = (0, 6), ylim = (0, 6))
square = matplotlib.Polygon([(1, 1), (5, 1), (5, 5), (1, 5)], closed = True)
ax.add_patch(square)
matplotlib.show()
if __name__ == '__main__':
draw_square()
Jag får följande kompileringsfel
vad beror det på, tack
Traceback (most recent call last):
File "main.py", line 1, in <module>
import matplotlib.pyplot as plt
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 967, in <module>
rcParams = rc_params()
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 876, in rc_params
fname = matplotlib_fname()
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 744, in matplotlib_fname
configdir = _get_configdir()
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 613, in _get_configdir
return _get_config_or_cache_dir(_get_xdg_config_dir())
Ser ut som att inte hela felutskriften kom med, det är raden längst ner som brukar vara mest givande. Den anger vad felet är (eller försöker), medan raderna ovanför visar kedjan av funktionsanrop som ledde fram till felet.
Men från det du visat ser det inte ut som att felet ligger i din kod, utan snarare att saker inte är riktigt rätt installerade. Vilken pythonversion, och vilken version av matplotlib, använder du?
Hej,
tack för svaret.
Här kommer hela felutskrift se nedan. själva koden finns i mitt första mejl.
Jag kör denna kod via online pythonkompiler på
på sidan
Här kommer även en länk till den delade filen
https://onlinegdb.com/SJfoXxbTD
Traceback (most recent call last):
File "main.py", line 1, in <module>
from matplotlib import pyplot as plt
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 967, in <module>
rcParams = rc_params()
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 876, in rc_params
fname = matplotlib_fname()
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 744, in matplotlib_fname
configdir = _get_configdir()
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 613, in _get_configdir
return _get_config_or_cache_dir(_get_xdg_config_dir())
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 590, in _get_config_or_cache_dir
return _create_tmp_config_dir()
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 522, in _create_tmp_config_dir
tempdir = os.path.join(tempdir, 'matplotlib-%s' % getpass.getuser())
File "/usr/lib/python3.4/getpass.py", line 170, in getuser
return pwd.getpwuid(os.getuid())[0]
KeyError: 'getpwuid(): uid not found: 14062'
Aha, man kan nog inte förutsätta att plotverktyg är tillgängliga i en sån där kodmiljö. Och i deras FAQ hittar jag följande:
matplotlib är inte del av pythons standardbibliotek, utan något man installerar separat. Det är alltså "third party", och sidan du använder verkar inte stödja några såna tillägg i python.
Felmeddelandet visar att matplotlib ändå finns där, men dels verkar man få ett nummer ("uid") utan något namn när man använder sidan, dels är det som sagt inte vanligt att ritfunktioner fungerar när man använder python på det viset. Man kan tänka sig att ritandet automatiskt översätts till nån lämplig javascript eller svg, men det är i så fall ett ytterligare lager med funktioner. Nån kan ha gjort något sånt.