r/learnpython

2

Postado por 5 meses atrás

= Os módulos não estão sendo importados corretamente no ubuntu VPS =

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

Eu tenho a seguinte estrutura de pastas

- pai -- corefoo.py -- sourcesbar.py

Dentro de foo.py

Eu faço isso

import os, sys

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

E então eu executo assim

fontes python/foo.py

Eu tentei isso no windows 10 em um virtualenv, funciona, e no ubuntu wsl virtualenv funciona.

No meu servidor ubuntu no virtualenv também, recebo este erro

from sources.bar import Bar ModuleNotFoundError: Nenhum módulo chamado 'sources.bar'Tentei executar o script de caminhos diferentes, nada funciona.

No meu ubuntu 20.04 VPS, tenho python 3.8.10, no windows tenho python 3.9.7, no wsl tenho python 3.9.2

Devo atualizar o python no Ubuntu para 3.9 ou esse é um problema não relacionado?

67% de votos positivos

nível 1

os.path.join(os.path.dirname(os.path.abspath(arquivo

Por favor, permita-se desfrutar dos prazeres do pathlib aqui,

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

você pode até querer considerar o uso

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

para garantir que ele verificará essa pasta primeiro e não escolherá acidentalmente algo do PATH existente

1

== Sobre a comunidade ==

Subreddit para postar perguntas e pedir conselhos gerais sobre seu código python.

623k

Membros

570

On-line

Criado em 2 de outubro de 2009

Reddit Inc ÃÂé 2022. Todos os direitos reservados