r/learnpython

2

Опубліковано 5 місяців тому

= Модулі не імпортуються належним чином на ubuntu VPS =

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

У мене така структура папок

- батьківський -- corefoo.py -- sourcesbar.py

Всередині foo.py

Я роблю це

імпорт os, sys

sys.path.append(os.path.join(os.path.dirname(os.path.abspath(filefrom sources.bar import Bar)

А потім я виконую це так

python sources/foo.py

Я спробував це на windows 10 у virtualenv, це працює, і на ubuntu wsl virtualenv це працює.

На моєму сервері ubuntu у virtualenv також виникає ця помилка

from sources.bar import Bar ModuleNotFoundError: Немає модуля з назвою "sources.bar"Я намагався виконати сценарій з різних шляхів, нічого не працює.

На моєму ubuntu 20.04 VPS я маю python 3.8.10, у Windows я маю python 3.9.7, на wsl я маю python 3.9.2

Чи слід оновити python на ubuntu до 3.9, чи це не пов’язана проблема?

67% проголосували за

рівень 1

os.path.join(os.path.dirname(os.path.abspath(файл

Будь ласка, дозвольте собі насолодитися задоволеннями pathlib тут,

from pathlib import Path sys.path.append(str(Pathfileresolveparents[1)

ви навіть можете розглянути можливість використання

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

щоб гарантувати, що він спочатку перевірить цю папку і випадково не вибере щось із існуючого ШЛЯХУ

1

== Про спільноту ==

Subreddit для публікації запитань і запитів про загальні поради щодо вашого коду Python.

623 тис

Члени

570

Онлайн

Створено 2 жовт. 2009 р

Reddit Inc ÃÂé 2022. Усі права захищено