0

さまざまな 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 requestsmain.py でとを試しましたがfrom .requests import requests、どちらも「非パッケージで相対インポートを試みました」というメッセージが表示されます。私はまだ sys.path をいじっていませんが、それが「正しい」方法であるかどうかについて、さまざまなアドバイスを見てきました。私の主な関心事は、このスクリプトを実行する以外に何もしなくても、ユーザーのマシンでこのスクリプトを実行できるようにすることです。ユーザーが外部パッケージをインストールする必要はありませんが、ソースをインポートしようとしても機能しないようです。

4

1 に答える 1