問題タブ [pypy]
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でPILを使用する方法は?
少し検索しましたが、PyPyでPILを使用するためのチュートリアルが見つかりませんでした。PyPyのブログによると、PILがサポートされています。
- PYTHONPATHにpipを使用してPILをインストールしました。
- ダウンロード後、pipは2つの.pydファイル(_imaging.pydと_imagingmath.pyd)を作成します。
- インストール後、%PYTHONPATH%/ lib / site-packages/PILをPyPysite-packagesディレクトリにコピーしました。
- スクリプト(PILを使用)を実行すると、_imagingCモジュールをインポートできないと表示されます。
どうすればいいですか?
編集:私はこれをWindows 7 x64(python 2.7.1 32ビット)で実行します
これがトレースバックです(pypy 1.4.1 Windowsバイナリ):
python - curses ライブラリのインポート エラー pypy
cpython 2.5 と完全に互換性があると言われている pypy 1.4 を使用していますが、curses モジュールをインポートしようとすると、curses モジュールが使用可能であるにもかかわらず、インポート エラー evn が発生します。
python - PyPy の Rpython を汎用プログラミング言語として開発
PyPy プロジェクトからRpython (Restricted Python)を汎用プログラミング言語として開発することに興味はありますか? おそらく、PyPy プロジェクトからのフォークである可能性があります。そのようなプロジェクトは存在しますか?プログラムはコンパイルされているため、Rpython で記述されたモジュールを提供するだけで、CPython や PyPy などの他の Python 実装と競合する可能性があります。
user-interface - PyPy用のGUIライブラリ
現在、PyPyでの開発に使用できるGUIライブラリはありますか?
python - pypy 1.4.1 でツイスト 10.2.0 をインストールするには?
ツイスト 10.2.0 を ubuntu ボックスにインストールできません。ツイスト ソースをダウンロードした後、コマンド pypy setup.py install を発行します。その後、次のエラーが表示されます。
それで、どうすれば修正できますか?ありがとう。
pypy - PyPy変換エラー
これがこの質問にふさわしい場所であることを願っています。単純なJIT対応のインタープリターを作成しようとしています。しかし、翻訳に関しては奇妙なエラーが発生しています。JavaScriptのサンプルパーサーをほぼ逐語的にコピーしましたが、ここに私の問題があります。
まず第一に、ここにパーサーがあります(JSの例のようにほぼ100%):
と私の文法:
コードをcにコンパイルするために次のことを行っています。
私は何が欠けていますか?これはとても簡単に思えました...
python - pypy変換中にインストールされたネイティブライブラリパスを指定する
Macマシンで最新のpypyリポジトリを構築しようとしています。必要なライブラリの1つであるlibintlがにインストールされてい$HOME/opt/local/lib
ます。私は(以前に構築されたものを使用してpypy-c
)実行します、
しかし、約30分後、
では、このライブラリのパスをどのように指定する必要がありますか?カスタムrpythonプログラムのコンパイルと実行についても同じことが起こると思います。
python - PyPyのJIT用の高速コードを作成するためのガイドライン
PyPyのJITは、PythonコードをCPythonよりもはるかに高速に実行させることができます。JITコンパイラによってより適切に最適化できるコードを作成するための一連のガイドラインはありますか?たとえば、Cythonは静的コードをC ++にコンパイルでき、効率的なコードを作成するためのガイドラインがあります。PyPyの一連のグッドプラクティスはありますか?PyPyプロジェクトには、他の動的言語用に独自のJIT対応インタープリターを作成する際にヒントを含めるためのガイドラインがあることは知っていますが、それは、単にインタープリターを使用しているフレームワークのほとんどのエンドユーザーには関係ありません。私が疑問に思っている質問は次のとおりです。
- スクリプトを関数にパッケージ化する
- 変数を明示的に削除する
- 変数型を与える、または示唆する可能な方法
- ループを特定の方法で書く
python - LLVM、オウム、JVM、PyPy + Python
LLVM / Parrotの一部を使用した最適化された手法のpythonなど、一部の言語の開発における問題は何ですか。
PyPy、LLVM、Parrot は、共通プラットフォーム開発の主要なテクノロジです。
私はこれを次のように見ます:
- PyPy - Python 用に最適化された VM をビルドして VM を構築するためのフレームワーク
。非常に一般的なソリューションです。プロセスは次のとおりです。
- dynamic_language_code ->
- PyPy フロントエンド ->
- PyPy 内部コード - バイトコード ->
- PyPy の最適化 ->
- PyPy コードを残し、次
のことを行います。一部の VM (jvm など) の PyPy バックエンド
b. 独自の VM を作成するための som キット
c. PyPy 内部コードの処理/実行
- dynamic_language_code ->
このプロセスについて私は正しいですか? Pythonの場合、最適化されたVMがありますか? 特にデフォルトでは、最適化された PyPy コード (ステップ 5.c) 用の VM が組み込まれています。これは Python 用であり、すべての言語処理がそこで停止し、それによって実行されますか?
- オウム- PyPy によく似ていますが、5.a と 5.b はありませんか? 動的処理 ( Parrot Magic Cookies ) のいくつかの内部改善。
ParrotとPyPyはどちらも、共通の動的言語ランタイムを作成するプラットフォームを作成するように設計されていますが、PyPy はさらに多くの VM を作成することも望んでいます。
PyPy の感覚はどこにありますか? より多くの VM を作成する必要があるのは何ですか? (parrot のように) 1 つの VM に集中するのは良いことではありません - PyPy 内部バイトコードまたは Parrot のもののいずれかの共通の 1 つのコード レベルがあるためです。PyPy VM で新しく作成された PyPy バイトコードに変換するのに勝るものはないと思います。
- LLVM - これは PyPy と非常によく似ていますが、VM ジェネレーターはありません。
PyPy と同様のターゲット (ただし VM ジェネレーターはありません) を備えた成熟した適切に設計された環境ですが、低レベルの構造に取り組んでおり、優れた最適化/JIT 手法が実装されています。
これは次のように見えます: LLVMは一般的に使用されますが、Parrotと **PyPy* は動的言語用に設計されています。PyPy / Parrot では、LLVM よりも高レベルであるため、いくつかの複雑な手法を簡単に導入できます。たとえば、高レベルのコードをよりよく理解し、より優れたアセンブラー コードを生成できる洗練されたコンパイラー (人間が合理的な時間で作成できない) などです。 LLVMのもの?
質問:
私は正しいですか?いくつかの動的言語を移植する方が、たとえば Parrot よりも llvm に適している理由はありますか?
Parrot での Python 開発の活動は見られません。python C拡張機能を使用するとオウムが機能しないためですか?同じ問題が PyPy にあります
他の VM が LLVM / オウムに移行したくない理由。例: ruby -> オウム、CLR/ JVM -> LLVM。より洗練されたソリューションに移行する方がよいのではないでしょうか? LLVM は高度な開発プロセスにあり、大企業が投資しています。
バイトコードを変更する必要がある場合、リソースの再コンパイルに問題がある可能性があることはわかっていますが、必須ではありません。古いバイトコードを新しいバイトコードに移植しようとすることができ、新しいコンパイラは新しいバイトコードを生成します独自のバイトコードを解釈したため、フロントエンドはそれをチェックして新しいバイトコードに変換できます)?
たとえば、llvm 内の jvm ライブラリをリンクする際の問題は何ですか (何らかの方法で java/jvm/scala を llvm に移植する場合)?
どこか間違っていたら訂正してもらえますか
いくつかの追加:
=============
明確化
私は、このソフトウェアがどのように構成されているかを理解したいと思っています。