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. Усі права захищено