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 ソース/foo.py

これをvirtualenvのWindows 10で試してみましたが、動作し、ubuntu wsl virtualenvで動作します。

virtualenvの私のubuntuサーバーでも、このエラーが発生します

sources.barインポートバーからModuleNotFoundError:「sources.bar」という名前のモジュールがありません

別のパスからスクリプトを実行しようとしましたが、何も機能しません。

私のubuntu 20.04 VPSにはpython 3.8.10があり、Windowsにはpython 3.9.7があり、wslにはpython 3.9.2があります

ubuntu の python を 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

最初にそのフォルダーをチェックし、誤って既存の PATH から何かを選択しないことを保証する

1

== コミュニティについて ==

質問を投稿したり、Python コードに関する一般的なアドバイスを求めたりするための Subreddit。

623k

メンバー

570

オンライン

2009年10月2日作成

Reddit Inc ÃâÃâ© 2022. 無断複写・転載を禁じます