問題タブ [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.

0 投票する
2 に答える
9029 参照

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バイナリ):

0 投票する
2 に答える
1263 参照

python - curses ライブラリのインポート エラー pypy

cpython 2.5 と完全に互換性があると言われている pypy 1.4 を使用していますが、curses モジュールをインポートしようとすると、curses モジュールが使用可能であるにもかかわらず、インポート エラー evn が発生します。

0 投票する
5 に答える
2134 参照

python - PyPy の Rpython を汎用プログラミング言語として開発

PyPy プロジェクトからRpython (Restricted Python)を汎用プログラミング言語として開発することに興味はありますか? おそらく、PyPy プロジェクトからのフォークである可能性があります。そのようなプロジェクトは存在しますか?プログラムはコンパイルされているため、Rpython で記述されたモジュールを提供するだけで、CPython や PyPy などの他の Python 実装と競合する可能性があります。

0 投票する
3 に答える
3930 参照

user-interface - PyPy用のGUIライブラリ

現在、PyPyでの開発に使用できるGUIライブラリはありますか?

0 投票する
3 に答える
2507 参照

python - pypy 1.4.1 でツイスト 10.2.0 をインストールするには?

ツイスト 10.2.0 を ubuntu ボックスにインストールできません。ツイスト ソースをダウンロードした後、コマンド pypy setup.py install を発行します。その後、次のエラーが表示されます。

それで、どうすれば修正できますか?ありがとう。

0 投票する
2 に答える
530 参照

pypy - PyPy変換エラー

これがこの質問にふさわしい場所であることを願っています。単純なJIT対応のインタープリターを作成しようとしています。しかし、翻訳に関しては奇妙なエラーが発生しています。JavaScriptのサンプルパーサーをほぼ逐語的にコピーしましたが、ここに私の問題があります。

まず第一に、ここにパーサーがあります(JSの例のようにほぼ100%):

と私の文法:

コードをcにコンパイルするために次のことを行っています。

私は何が欠けていますか?これはとても簡単に思えました...

0 投票する
1 に答える
743 参照

python - pypy変換中にインストールされたネイティブライブラリパスを指定する

Macマシンで最新のpypyリポジトリを構築しようとしています。必要なライブラリの1つであるlibintlがにインストールされてい$HOME/opt/local/libます。私は(以前に構築されたものを使用してpypy-c)実行します、

しかし、約30分後、

では、このライブラリのパスをどのように指定する必要がありますか?カスタムrpythonプログラムのコンパイルと実行についても同じことが起こると思います。

0 投票する
1 に答える
2621 参照

python - PyPyのJIT用の高速コードを作成するためのガイドライン

PyPyのJITは、PythonコードをCPythonよりもはるかに高速に実行させることができます。JITコンパイラによってより適切に最適化できるコードを作成するための一連のガイドラインはありますか?たとえば、Cythonは静的コードをC ++にコンパイルでき、効率的なコードを作成するためのガイドラインがあります。PyPyの一連のグッドプラクティスはありますか?PyPyプロジェクトには、他の動的言語用に独自のJIT対応インタープリターを作成する際にヒントを含めるためのガイドラインがあることは知っていますが、それは、単にインタープリターを使用しているフレームワークのほとんどのエンドユーザーには関係ありません。私が疑問に思っている質問は次のとおりです。

  1. スクリプトを関数にパッケージ化する
  2. 変数を明示的に削除する
  3. 変数型を与える、または示唆する可能な方法
  4. ループを特定の方法で書く
0 投票する
3 に答える
8609 参照

python - LLVM、オウム、JVM、PyPy + Python

LLVM / Parrotの一部を使用した最適化された手法のpythonなど、一部の言語の開発における問題は何ですか。

PyPy、LLVM、Parrot は、共通プラットフォーム開発の主要なテクノロジです。
私はこれを次のように見ます:

  • PyPy - Python 用に最適化された VM をビルドして VM を構築するためのフレームワーク
    。非常に一般的なソリューションです。プロセスは次のとおりです。
    1. dynamic_language_code ->
    2. PyPy フロントエンド ->
    3. PyPy 内部コード - バイトコード ->
    4. PyPy の最適化 ->
    5. PyPy コードを残し、次
      のことを行います。一部の VM (jvm など) の PyPy バックエンド
      b. 独自の VM を作成するための som キット
      c. PyPy 内部コードの処理/実行

このプロセスについて私は正しいですか? Pythonの場合、最適化されたVMがありますか? 特にデフォルトでは、最適化された PyPy コード (ステップ 5.c) 用の VM が組み込まれています。これは Python 用であり、すべての言語処理がそこで停止し、それによって実行されますか?

  • オウム- PyPy によく似ていますが、5.a と 5.b はありませんか? 動的処理 ( Parrot Magic Cookies ) のいくつかの内部改善。

ParrotPyPyはどちらも、共通の動的言語ランタイムを作成するプラットフォームを作成するように設計されていますが、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のもの?

質問:

  1. 私は正しいですか?いくつかの動的言語を移植する方が、たとえば Parrot よりも llvm に適している理由はありますか?

  2. Parrot での Python 開発の活動は見られません。python C拡張機能を使用するとオウムが機能しないためですか?同じ問題が PyPy にあります

  3. 他の VM が LLVM / オウムに移行したくない理由。例: ruby​​ -> オウム、CLR/ JVM -> LLVM。より洗練されたソリューションに移行する方がよいのではないでしょうか? LLVM は高度な開発プロセスにあり、大企業が投資しています。

  4. バイトコードを変更する必要がある場合、リソースの再コンパイルに問題がある可能性があることはわかっていますが、必須ではありません。古いバイトコードを新しいバイトコードに移植しようとすることができ、新しいコンパイラは新しいバイトコードを生成します独自のバイトコードを解釈したため、フロントエンドはそれをチェックして新しいバイトコードに変換できます)?

  5. たとえば、llvm 内の jvm ライブラリをリンクする際の問題は何ですか (何らかの方法で java/jvm/scala を llvm に移植する場合)?

  6. どこか間違っていたら訂正してもらえますか

いくつかの追加:

=============

明確化

私は、このソフトウェアがどのように構成されているかを理解したいと思っています。