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 εδώ,

από pathlib εισαγωγή Διαδρομή sys.path.append(str(Pathfileresolveparents[1

ίσως θελήσετε ακόμη και να σκεφτείτε να χρησιμοποιήσετε

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

για να εγγυηθεί ότι θα ελέγξει πρώτα αυτόν τον φάκελο και δεν θα επιλέξει κατά λάθος κάτι από το υπάρχον PATH

1

== Σχετικά με την Κοινότητα ==

Subreddit για να δημοσιεύετε ερωτήσεις και να ζητάτε γενικές συμβουλές σχετικά με τον κώδικα python σας.

623 χιλ

Μέλη

570

Σε σύνδεση

Δημιουργήθηκε στις 2 Οκτωβρίου 2009

Reddit Inc ÃÂé 2022. Με την επιφύλαξη παντός δικαιώματος