タグ付けされた質問 「python-import」

Pythonでのモジュールのインポートに関する質問

18
「モジュールのインポート」または「モジュールのインポートから」を使用しますか?
使用するのが最善か、import moduleそれともfrom module import?についての包括的なガイドを見つけようとしました。私はPythonを始めたばかりで、ベストプラクティスを念頭に置いて始めようとしています。 基本的に、私は誰かが彼らの経験を共有できるか、他の開発者がどのような好みを持っているか、そして将来の問題を避けるための最良の方法は何かを望んでいましたか?

7
requirements.txtを自動的に作成する
時々私はからPythonのソースコードをダウンロードし、githubすべての依存関係をインストールする方法がわかりません。requirements.txtファイルがない場合は、手動で作成する必要があります。問題は次のとおりです。Pythonのソースコードディレクトリを考えるとrequirements.txt、インポートセクションから自動的に作成できますか。

18
フォルダ内のすべてのモジュールをロードする方法は?
誰かがモジュールのディレクトリ全体をインポートする良い方法を私に提供できますか? 私はこのような構造を持っています: /Foo bar.py spam.py eggs.py 追加__init__.pyして実行するfrom Foo import *だけでパッケージに変換しようとしましたが、期待したとおりに機能しませんでした。


6
ModuleNotFoundError:__main__がパッケージでないとはどういう意味ですか?
コンソールからモジュールを実行しようとしています。私のディレクトリの構造はこれです: 私はモジュールを実行しようとしていますp_03_using_bisection_search.pyから、problem_set_02使用してディレクトリ: $ python3 p_03_using_bisection_search.py 内部のコードp_03_using_bisection_search.pyは次のとおりです。 __author__ = 'm' from .p_02_paying_debt_off_in_a_year import compute_balance_after def compute_bounds(balance: float, annual_interest_rate: float) -> (float, float): # there is code here, but I have omitted it to save space pass def compute_lowest_payment(balance: float, annual_interest_rate: float) -> float: # there is code here, but I have …

11
兄弟パッケージのインポート
兄弟のインポート、さらにはパッケージのドキュメントについての質問を読んでみました みましたが、答えはまだわかりません。 次の構造で: ├── LICENSE.md ├── README.md ├── api │ ├── __init__.py │ ├── api.py │ └── api_key.py ├── examples │ ├── __init__.py │ ├── example_one.py │ └── example_two.py └── tests │ ├── __init__.py │ └── test_one.py examplesおよびtestsディレクトリ内のスクリプトをどのようにインポート することができますか apiモジュールしてコマンドラインから実行するにはですか? また、sys.path.insertすべてのファイルの醜いハックを回避したいと思います。確かに、これはPythonで実行できますよね?

29
djangoインポートエラー-core.managementという名前のモジュールはありません
わかりました、これらのエラーはたくさんあります。私は知っていることをすべて試しましたが、まだこれを理解していません。 私はpython 2.5とDjango 1.3を実行している開発サーバーで作業しています。Django 1.3は、tar.gzダウンロードを解凍した後、python setup.py installを使用してインストールされました。 すべてうまく機能します。実行する必要はほとんどありませんがmanage.py、新しいstaticfilesアプリを使用しようとしていて、問題が発生しています。 python manage.py collectstatic Traceback (most recent call last): File "manage.py", line 2, in <module> from django.core.management import execute_manager ImportError: No module named core.management わかりました、それでPATH問題があります。 Djangoインストールから、site-packagesディレクトリを再確認します。 python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" /usr/lib/python2.5/site-packages OK、私が持っているものをチェックしてみましょう。$ PYTHON_PATHが空だったので、それを設定します。 export PYTHON_PATH=/usr/lib/python2.5/site-packages/django まだ運がない。sys.pathの発言を確認してみましょう >>> import sys …


12
相対インポート-ModuleNotFoundError:xという名前のモジュールはありません
私が本当に座ってpython 3を試したのはこれが初めてで、惨めに失敗しているようです。次の2つのファイルがあります。 test.py config.py config.pyには、いくつかの関数といくつかの変数が定義されています。私はそれを次のように取り除きました: config.py debug = True test.py import config print (config.debug) 私も持っています __init__.py ただし、次のエラーが発生します。 ModuleNotFoundError: No module named 'config' 私はpy3規則が絶対インポートを使用することであることを認識しています: from . import config ただし、これにより次のエラーが発生します。 ImportError: cannot import name 'config' だから私はここで何をすべきかについて途方に暮れています...どんな助けでも大歓迎です。:)

9
インポート時にPythonがモジュールを実行するのはなぜですか、またどのように停止するのですか?
私が作成している2つの方法のいずれかで実行できるPythonプログラムがあります。1つ目は、ユーザーにわかりやすい方法で入力を求める「python main.py」を呼び出し、プログラムを通じてユーザー入力を実行することです。もう1つの方法は、「python batch.py -file-」を呼び出すことです。これにより、フレンドリーな入力の収集がすべて渡され、ファイル全体の価値のある入力がプログラムを通じて1回で実行されます。 問題は、「batch.py​​」を実行すると、「main.py」からいくつかの変数/メソッド/ etcがインポートされ、このコードを実行すると次のようになることです。 import main プログラムの最初の行では、「main.py」でコードを実行しようとするため、すぐにエラーが発生します。 インポートしている「メイン」モジュールに含まれているコードをPythonが実行しないようにするにはどうすればよいですか?

6
Pythonの「import x」および「from x import y」ステートメントを並べ替える正しい方法は何ですか?
Pythonのスタイルガイドでは、このようなグループの輸入に提案します: インポートは次の順序でグループ化する必要があります。 標準ライブラリのインポート 関連するサードパーティの輸入 ローカルアプリケーション/ライブラリ固有のインポート ただし、インポートの2つの異なる方法をどのようにレイアウトする必要があるかについては触れていません。 from foo import bar import foo それらをソートするには複数の方法があります(これらのインポートはすべて同じグループに属していると仮定しましょう): 最初にfrom..import、次にimport from g import gg from x import xx import abc import def import x 最初にimport、次にfrom..import import abc import def import x from g import gg from x import xx インポートの種類を無視して、モジュール名によるアルファベット順 import abc import def from g …

10
Pythonクラスを動的にロードする方法
たとえばPythonクラスの文字列が与えられた場合、my_package.my_module.MyClassそれをロードする最良の方法は何ですか? 言い換えれば、私はClass.forName()JavaでPythonの関数で同等のものを探しています。Google App Engineで動作する必要があります。 これは、クラスのFQNを文字列として受け入れ、クラスへの参照を返す関数であることが望ましいです。 my_class = load_class('my_package.my_module.MyClass') my_instance = my_class()

2
__future__ importからabsolute_importは実際には何をしますか?
私がしている答えた私は、私が読んで理解に基づいて考えPythonで絶対的な輸入に関するご質問、Pythonの2.5変更履歴をとそれに付随するPEPを。ただし、Python 2.5をインストールしfrom __future__ import absolute_import、を適切に使用する例を作成しようとしたところ、状況がそれほど明確ではないことに気付きました。 上記のリンクされた変更ログから直接、このステートメントは、絶対的なインポートの変更に関する私の理解を正確に要約したものです。 次のようなパッケージディレクトリがあるとします。 pkg/ pkg/__init__.py pkg/main.py pkg/string.py これはおよびサブモジュールpkgを含むという名前のパッケージを定義します。pkg.mainpkg.string main.pyモジュールのコードを検討してください。ステートメントを実行するとどうなりimport stringますか?Python 2.4以前では、最初にパッケージのディレクトリを参照して相対インポートを実行し、pkg / string.pyを見つけて、そのファイルの内容をpkg.stringモジュールとしてインポートします。"string"そのpkg.mainモジュールは、モジュールの名前空間の名前にバインドされます。 だから私はこの正確なディレクトリ構造を作成しました: $ ls -R .: pkg/ ./pkg: __init__.py main.py string.py __init__.pyとstring.py空です。main.py次のコードが含まれています。 import string print string.ascii_uppercase 予想通り、Python 2.5でこれを実行すると、AttributeError: $ python2.5 pkg/main.py Traceback (most recent call last): File "pkg/main.py", line 2, in <module> print string.ascii_uppercase …


7
インポートをモックする方法
モジュールの上部にA含まimport Bれています。しかし、試験条件の下で、私はしたいと思いモック BでA(モックA.B)と完全に輸入を控えますB。 実際、B意図的にテスト環境にインストールされることはありません。 Aテスト中のユニットです。Aすべての機能をインポートする必要があります。B私がモックする必要があるモジュールです。しかし、最初に行うことがインポートである場合、どうすればB内部をモックして実際のインポートAを停止できますか?ABAB (Bがインストールされていない理由は、迅速なテストのためにpypyを使用しているためです。残念ながら、Bはまだpypyと互換性がありません。) これはどのように行うことができますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.