問題タブ [pyc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python 3.4 で Python ソース ファイルなしで実行する
ソースファイルを保持せずに、コンパイルされたファイル.py
のみに依存してPython アプリケーションを実行しようとしています。.pyc
ただし、.py
ソース ファイルを削除すると、インポート エラーが発生します。この機能は Python 2.7 では機能しますが、3.4 (新しい__pycache__
構造) では機能しません。
サンプルのディレクトリ構造は次のとおりです。
パイソン 2.7
まず、Python 2.7 を使用するとどうなるか見てみましょう (これは望ましい動作です)。
すべて正常で、エラーはスローされません。これを行った後のディレクトリ構造は.pyc
、元のファイルと並んでファイルとともに次のようになり.py
ます。
パイソン3.4
では、Python 3.4 で同じことを行いましょう。元のディレクトリ構造から始めます。
モジュールをインポートできません。python3 -c "import package"
興味深いことに、この時点ではまだ安全に実行できますが、そこからモジュールを取得することはできません。この時点で、ディレクトリ構造は 2.7 の場合とは少し異なります。具体的には次のようになります。
問題は次のとおりです。なぜ Python 3.4 は、与えられた.pyc
ファイルだけを適切にインポート/実行できないのでしょうか? これは、すべての状況でソースを保持する必要があることを意味する望ましい動作ですか? それとも私は愚かな何かを逃していますか?
git - Git リモート リポジトリから .pyc ファイルを削除する
誤って、.pyc ファイルをマスター リポジトリにプッシュしてしまいました。今、それらを削除したいのですが、できません。Bitbucket サイトから直接削除する方法はありますか?
python - nginx uswgi python の奇妙なケース
(werkzeug、jinja2、および MongoEngine) を使用して構築された Python MVC Web アプリケーションがあります。
本番環境では、nginx ロード バランサーの背後に 4 つの nginx サーバーがセットアップされています。4 つのサーバーはすべて、共通の Mongo サーバー、Redis サーバー、および Sphinx サーバーを共有しています。nginx とアプリケーションの間で uwsgi を使用しています。
さて、気になるケース。
新しいコードをデプロイしたら、xyz.wsgi をタッチします。数時間、すべてが順調に見えます。しかしその後、ランダムにエラーが発生します。
以前、他の Python 開発シナリオでこのエラーを見たことがあります。しかし、今回私を混乱させたのは、完全にランダムな動作です。
たとえばexample.com/multimedia?keywords=sdf&s=title&c=21830
。
更新すると、エラーはなくなりました。'keywords=xzy' のような任意のパラメーターに別の値を試してみると、再び同じ値になります。リフレッシュしてください。
その「マルチメディア」モジュールは、最近行ったものなので、根本的な原因であると推測できます。しかし、エラーがランダムに発生するのはなぜですか?
私の推測では、nginx キャッシングまたは pyc/pyo の存在と関係があるのではないでしょうか? 不正なグローバル変数が原因でしょうか?
専門家の手が私を助けてくれませんか。
python - Python: *.pyc ファイルを完全に無視するように 2.X にパッチを適用できますか?
エグゼクティブ サマリー: NFS 上の python lib、python 2.6 と 2.7 の決闘。
コンテキスト: いくつかのグループが独自の Python インタープリターを維持していますが、NFS サーバー上の共通の Python ライブラリにアクセスしています。
pyc ファイルを無視するように python をビルドする簡単な方法はありますか? すべてのスクリプトが-B
オプション付きで実行されるようにすることは現実的ではありません。
NFS負荷の原因となっているファイルが存在するかどうかを確認するのは、実際の統計のようです。
python - 組み込み Linux プラットフォームにのみ .pyc をデプロイする
Linux および python 2.7 を実行している組み込みシステムに .pyc のみのファイルを展開する際に禁忌はありますか?
.pyc のみを展開できれば、リソースに制約のある組み込みシステムでストレージが無駄になるのを避けることができます。
python - コンパイルされた python (pyc) ファイルをインポートで見つけるには、どのディレクトリ/パスにある必要がありますか?
私はこれに対する正確な答えを見つけることができません..
コンパイル済みの .pyc ファイルがあります。別のpythonファイルでそれへの参照があります。Pythonがそれを見つけるためにpycファイルはどこにある必要がありますか? これを実行するたびに、インポートしようとするとモジュールが見つからないというエラーが表示されます。
コンパイルされていない参照ファイル (.py) が、実行しようとしている .py ファイルのあるディレクトリにある場合、正常に動作します。
いくつかのパス変数を更新する必要がありますか、またはこれを特別なフォルダーに入れて見つけられるようにする必要がありますか? これは必要ないことはわかっています。私は主に、Python がそのインポートをどのように取り込んでいるかを理解したいと思っています。私が読んだすべてのことは、ソース .py がなくても、別のファイルをインポートする必要があるときに、私が持っている .pyc ファイルが正常に実行されるべきであることを示唆しています。
編集:明確化、私はWindowsを実行しています。