r/learnpython

2

Wysłane przez 5 miesięcy temu

= Moduły nie są poprawnie importowane na ubuntu VPS =

![ ](httpswww.redditstatic.com/desktop2x/img/renderTimingPixel.png)

Mam następującą strukturę folderów

- rodzic -- corefoo.py -- sourcebar.py

Wewnątrz foo.py

robię to

import systemu operacyjnego, sys

sys.path.append(os.path.join(os.path.dirname(os.path.abspath(plik ze źródeł.bar import Bar

A potem wykonuję to w ten sposób

źródła Pythona/foo.py

Próbowałem tego na Windows 10 w virtualenv, działa, a na ubuntu wsl virtualenv działa.

Również na moim serwerze ubuntu w virtualenv otrzymuj ten błąd

from source.bar import Bar ModuleNotFoundError: Brak modułu o nazwie „sources.bar”

Próbowałem wykonać skrypt z różnych ścieżek, nic nie działa.

Na moim ubuntu 20.04 VPS mam python 3.8.10, na windows mam python 3.9.7, na wsl mam python 3.9.2

Czy powinienem zaktualizować Pythona na Ubuntu do wersji 3.9, czy też jest to niezwiązany problem?

67% przegłosowanych

poziom 1

os.path.join(os.path.dirname(os.path.abspath(file

Proszę, pozwól sobie cieszyć się przyjemnościami pathlib tutaj,

z pathlib import Ścieżka sys.path.append(str(Pathfileresolveparents[1

możesz nawet rozważyć użycie

sys.path.insert(0, str(Pathfileresolveparents[1

aby zagwarantować, że najpierw sprawdzi ten folder i nie przypadkowo wybierze coś z istniejącej PATH

1

== O społeczności ==

Subreddit do publikowania pytań i proszenia o ogólne porady dotyczące twojego kodu Pythona.

623 tys

Członkowie

570

online

Utworzono 2 października 2009 r

Reddit Inc © 2022. Wszelkie prawa zastrzeżone