r/learnpython

2

Dihantar oleh5 bulan yang lalu

= Modul tidak diimport dengan betul pada ubuntu VPS =

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

Saya mempunyai struktur folder berikut

- ibu bapa -- corefoo.py -- sourcesbar.py

Di dalam foo.py

Saya buat ini

import os, sys

sys.path.append(os.path.join(os.path.dirname(os.path.abspath(fail daripada sumber.bar import Bar

Dan kemudian saya melaksanakannya seperti ini

sumber python/foo.py

Saya mencuba ini pada windows 10 dalam virtualenv, ia berfungsi, dan pada ubuntu wsl virtualenv ia berfungsi.

Pada pelayan ubuntu saya dalam virtualenv juga, dapatkan ralat ini

daripada sources.bar import Bar ModuleNotFoundError: Tiada modul bernama 'sources.bar'Saya cuba melaksanakan skrip dari laluan yang berbeza, tiada apa yang berfungsi.

Pada VPS ubuntu 20.04 saya, saya mempunyai python 3.8.10, pada windows saya mempunyai python 3.9.7, pada wsl saya mempunyai python 3.9.2

Sekiranya saya menaik taraf python pada ubuntu kepada 3.9 atau adakah ini isu yang tidak berkaitan?

67% undian sokong

tahap 1

os.path.join(os.path.dirname(os.path.abspath(fail

Sila izinkan diri anda menikmati keseronokan pathlib di sini,

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

anda mungkin mahu mempertimbangkan untuk menggunakan

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

untuk menjamin ia akan menyemak folder itu terlebih dahulu dan tidak secara tidak sengaja memilih sesuatu daripada PATH sedia ada

1

== Mengenai Komuniti ==

Subreddit untuk menyiarkan soalan dan meminta nasihat umum tentang kod python anda.

623k

ahli

570

dalam talian

Dicipta pada 2 Okt 2009

Reddit Inc ÃÂé 2022. Hak cipta terpelihara