問題タブ [cpython]
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 - PyPy内にCPythonを埋め込むことはできますか?
Pythonでパフォーマンスに敏感なアプリケーションを作成したいので、PyPyで実行するのが自然な選択です。ただし、私のコードの大部分は、numpy、scipy、およびscikit-learnに依存しています。配列指向のコードを呼び出すために、実行中のPyPyプログラム内にCPythonインスタンスを埋め込むことは可能でしょうか?そうでない場合、PyPyとCPythonを相互に通信させる最も簡単な方法は何ですか?
c++ - 現在の Python 実装とコンパイル済み言語の境界線
私の理解
C++ はマシン コードにコンパイルされ、実行されます。
Python はバイトコードにコンパイルされます
次に、このバイトコードが実行されます
この実行ステップには何が必要で、Cpython と PyPy ではどのように違うのでしょうか?
パフォーマンスの違いはどこで発生しますか? Python が動的に型付けされているという事実は、パフォーマンスの点でどこに影響しますか?
ありがとう!
c++ - C++のPythonクラスで静的変数を指定します
CPython C ++のPythonクラスで静的メソッドまたは変数を指定するにはどうすればよいですか?
PyTypeObject構造では、tp_getset、tp_methods、tp_membersはすべてクラスのインスタンスを想定しているようです。
どうもありがとう、ロブ。
python - CPython ソース - STATIC python26.lib をビルドするには?
Cython を使用して、hello.pyx ファイルを exe にコンパイルしようとしています。
最初のステップは、コマンド「cython --cplus --embed hello.pyx」を使用して、hello.pyx を hello.cpp ファイルにコンパイルすることでした。Embed
オプションはすることを意味しGenerate a main() function that embeds the Python interpreter
ます。依存関係のない独立したexeを作成しようとしています。
にhello.cpp
がある#include "Python.h"
ので、ここから Python ソースをダウンロードしています: http://www.python.org/download/releases/2.6.6/、Gzipped source tar ball (2.6.6)を選択します。include dir を追加すると、Python26.lib が見つからないというエラーが表示されます。だから私はそれをコンパイルしようとしています。デフォルトのビルドでは python26.lib が作成されますが、200 KB しかありません。これは静的ライブラリではありません。hello.cpp をコンパイルしようとすると、参照が見つからないというエラーが発生します。
README には、静的にビルドする方法に関する有用な指示はありません。ただし、オンラインの README ファイルをグーグルで検索しました。トランク内の最新バージョンの python (3.x) については、静的ビルドに関する有用な情報がいくつかあります。
http://svn.python.org/projects/python/trunk/PCbuild/readme.txt
ソリューションには、静的ライブラリの構成がありません。ただし、DLL の代わりにスタティック ライブラリをビルドするのは簡単です。「構成タイプ」を「静的ライブラリ (.lib)」に設定し、プリプロセッサ マクロ「Py_ENABLE_SHARED」を「Py_NO_ENABLE_SHARED」に変更するだけです。また、「ランタイム ライブラリ」を「マルチスレッド DLL (/MD)」から「マルチスレッド (/MT)」に変更する必要がある場合もあります。
しかし、まだ詳細はあまりありません。ソリューション内のすべてのプロジェクトを静的ライブラリとしてビルドするように設定する必要がありますか? それともpythoncoreのみ?「Python」および「Pythonw」プロジェクトは「アプリケーション」であるため、ランタイム ライブラリを /MT にのみ変更できます。これらは私がやっている手順です:
- 「リリース」モードに変更します。
- Project "Python" -
/MT
プリプロセッサ定義の設定と追加Py_NO_ENABLE_SHARED
- Project "Pythoncore" -プリプロセッサ定義を
Static library (.lib)
/MT に置き換える構成タイプPy_ENABLE_SHARED
Py_NO_ENABLE_SHARED
- プロジェクト「Pythonw」 - 「Python」と同じ。
- 「Python」でビルドを右クリックします。
ビルドの概要:
ビルド: 5 成功、1 失敗、0 最新、0 スキップ
失敗したプロジェクトは「Python」です。ログは次のとおりです。
/PCbuild/ ディレクトリを見てみると、「pythoncore.lib」(10MB) は存在しますが、「python26.lib」はありません。
これらのエラーをグーグルで検索すると、mail.pythong.org で 1 つの会話しか見つかりません: http://www.groupsrv.com/computers/about397568.html
pythoncore プロジェクトで先行定義 "_USRDLL" を削除しようとしましたが、それでもエラーは同じです。
pythoncore のプリプロセッサ定義は次のとおりです。
編集をクリックすると、別のボックスに「継承された値」が表示されます。
モードをReleaseに変更したため、そのNdebugは奇妙です。
すべてのサービス パックがインストールされた Visual Studio 2008 (Express ではない) を使用しています。
ところで。以前にソリューション全体を構築しようとしましたが、パスが「../../dba-」で始まるファイルが見つからないというエラーがいくつかありました。
Python の 2.6.2 および 2.6.6 バージョンをコンパイルしようとしましたが、どちらも同じエラーをスローします。pythoncore.lib(sysmodule.obj) : error LNK2019: unresolved external symbol
python - これはstr.formatのPython3のバグですか?
「INSERTINTOProduct」にはなりませんが、「INSERT INTO {}」になるのはなぜですか?
python - CPython 2.7.2でメソッドキャッシュを無効にする方法は?
独自の種類のメソッド キャッシュを実装しようとしています。そのためには、まず、CPython 2.7.2 に実装されている既存のメソッド キャッシュを無効にします。このメソッド キャッシュを使用せずに CPython のベンチマークも行いたいからです。
コードを調べたところ、「typeobject.c」ファイルにいくつかのメソッド キャッシュ コードが見つかりました。
私が理解していることから、メソッドがメソッド キャッシュにない場合は、MRO をトラバースします。最もクリーンな方法で、メソッドキャッシュ全体を非アクティブ化したいだけです。助言がありますか?:)
アントニオ
python - Python 3 のエリクサー?
SqlAlchemy 0.7.3 を正常にインストールしましたが、Python 3 で Elixir をインストールする際に問題がありますか? 私はググってみましたが、希望を失っています。Python 3 用のバージョンの Elixir は本当にありますか? 前もって感謝します。
python - Python Elixir OneToMany および ManyToOne の実装: OneToMany 関係を持つ新しいレコードの挿入について?
Python Elixirで1対多の関係を持つレコードをどのように挿入しますか? 以下のコードを参照してください。
python - cPythonからPowerShellおよびActiveDirectoryコマンドを実行することは可能ですか?
cPythonについて2つの質問があります(IronPythonではありません):
- cPythonからPowerShellコマンドを実行することは可能ですか?
- cPythonからActiveDirectoryコマンドを実行することは可能ですか?