さまざまな OS で複数の人が使用する Python スクリプトを作成しており、ユーザーが実行する前にパッケージを自分でインストールする必要がないように、サードパーティのパッケージを含める最善の方法を見つけようとしています。脚本。私が使用している特定のライブラリはRequestsパッケージです。pip経由でインストールするとうまくいきますが、ソースをダウンロードしてプロジェクトルートからインポートしようとするとうまくいきません。インポート方法に応じて、「パッケージ以外で相対インポートを試みました」または「MyProject.request という名前のモジュールがありません」というメッセージが表示されます。
だから私の最初の質問は、私はこれに近づいているのでしょうか? 私は自分以外のユーザー向けに Python スクリプトを作成したことがないので、パッケージのインストールなどの問題に関心を持ったことはありません。Requests ライブラリのソースを含めてプロジェクトに相対的にインポートする正しい方法はありますか、それとももっと簡単な方法はありますか?
フォローアップの質問として、私が正しい軌道に乗っている場合、このパッケージをプロジェクトに含めるための適切な手順は何ですか? 現在、私のファイル構造は次のようになっています。
MyProject/
__init__.py
main.py
requests/
requests/
__init__.py
[bunch of other stuff]
[other files/folders]
from .MyProject.requests import requests
main.py でとを試しましたがfrom .requests import requests
、どちらも「非パッケージで相対インポートを試みました」というメッセージが表示されます。私はまだ sys.path をいじっていませんが、それが「正しい」方法であるかどうかについて、さまざまなアドバイスを見てきました。私の主な関心事は、このスクリプトを実行する以外に何もしなくても、ユーザーのマシンでこのスクリプトを実行できるようにすることです。ユーザーが外部パッケージをインストールする必要はありませんが、ソースをインポートしようとしても機能しないようです。