問題タブ [rpython]

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 投票する
1 に答える
6066 参照

python - PyPy / RPythonを使用して、小さなスタンドアロンの実行可能ファイルを作成できますか?

(または、「PyPy / RPythonを使用して、Pythonランタイムを必要とせずにPythonをコンパイル/C / C ++に変換できますか?」)

私はPyPyをそのRPythonとそのPython、その実行とそのコンパイルとその変換で理解しようとしましたが、やや失敗しました。

架空のPythonプロジェクト(Windows用)があります。py2exeの使用に伴う数メガバイト(UPX後)ではなく、100キロバイト(ONO)のオーダーでサイズを小さくしたいと思います。PyPy 1を使用して、Python26.dllに依存しないスタンドアロンの実行可能ファイルを作成できますか?可能であれば、for組み込み型でのみ機能するようにRPythonの制限に従う必要がありますか、それとも完全なPython構文ですか?

これができれば、PythonのCモジュールを直接使用することはほぼ確実にできないことを私は理解しています。


1 (質問の時から状況はより明確になり、ツールチェーンのこの部分はPyPyではなくRPythonとしてより明確にブランド化されています。2010年はそうではありませんでした。)

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 に答える
205 参照

interpreter - PyPy Translator Toolchainを使用してどのようなインタプリタが作成されましたか?

PyPy自体の他に、PyPy Translator Toolchainを使用してどのようなインタプリタが作成されましたか?

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

python - ジェネレーターはRPythonでサポートされていますか?

ジェネレーターはRPythonでサポートされていますか?PyPyのドキュメントで、ジェネレーターはサポートされていないということを読んだだけです。

PyPyDoc-コーディングガイド

すべての生成ステップは関数呼び出しで生成されるため、Cのような静的に型付けされた言語に変換するのは簡単なようです。

誰かが理由を説明できますか?または、主題にもう少し光を当てます。私は現在、RPythonセーフコードの記述の基本を学ぼうとしています。

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

python - RPythonで静的に入力されるものは何ですか?

RPython(Pythonのサブセット)は静的に型付けされているとよく言われます。(例:ウィキペディア。)

最初は、Pythonにそれをどのように追加するのか疑問に思いassert isinstance(arg1, ...)、各関数の先頭などにステートメントを追加する要件を追加したのではないかと思いました(しかし、私はそれを本当に信じられませんでした)。

次に、いくつかのRPythonコードを調べましたが、静的に型指定されているようには見えません。多くの場合、コンパイラーは、関数の引数が特定のタイプのみである可能性があることを証明できる可能性がありますが、すべての場合に確実にそうであるとは限りません。

たとえば、これは:のRPython実装ですstring.split

RPythonに関するPyPyのドキュメントでは、「変数には最大で1つのタイプの値を含める必要があります」と書かれています。

では、関数の引数も変数としてカウントされますか?または、RPythonはどのような意味で静的に型付けされていますか?それとも、これは実際に誤解されていますか?

0 投票する
0 に答える
1241 参照

python - Python 2.6、R2.14、Win 7x64 エラーで Rpy をインポートする

rpy を python にインポートしようとしています。このエラーが発生し続けます。

フォーラムを調べたところ、同じ問題に関する次のスレッドが見つかりました。そこで誰かが推奨することに従っても、同じエラーが発生します。Rpy 1.0.3、Python 2.6、R2.14、および Windows 7 x64 を使用しています。Windowsインストール用のrpyサイトで推奨されているnumpy 1.6.1とpywin32ビルド216も持っています。

rpy モジュールを Python にインポートする

R がパスにあり、同じエラーが引き続き発生します。

x64 R.exe へのパスを追加しました。また、上記の投稿のようになり、余分な + を追加しました。コマンドラインで引き続き実行されますが、新しいエラーが発生します。

トレースバック (最後の最後の呼び出し):
ファイル ""、1 行目、
インポート rpy
ファイル "E:\Python26\Lib\site-packages\rpy.py"、101 行目、
raise RuntimeError("Unable to locate R.dll %s" % RHOME 内)
RuntimeError: C:\Program Files\R\R-2.14.0 内で R.dll が見つかりません

R.dll で他のエラーがないかスタックを検索します。R.dllも2つあるようです。i386 に 1 つ、x64 に 1 つ。

rpy.py で見つかりました

if sys.platform=='win32': import win32api os.environ['PATH'] += ';' + os.path.join(RHOME,'ビン')

そこで、「bin」の後に「i386」、「x64」、「R.dll」を追加しました。どこを見るかを伝えた後でも、同じエラーが発生します。「rinterface/ init .py」の編集でいくつかのものを見つけましたが、このファイルが見つかりません。確かに、同じ問題が発生しているように見える rpy2 用でした。

何を変更したかはわかりませんが、今では次のようになっています

トレースバック (最新の最後の呼び出し):
ファイル ""、行 1、
インポート rpy
ファイル "E:\Python26\lib\site-packages\rpy.py"、行 106、
win32api.LoadLibrary( Rlib )
エラー: (126 , 'LoadLibrary', '指定されたモジュールが見つかりませんでした.')

x64モードで試してみました。x64 は win32 モジュールであるため、loadlibrary が動作しないというエラーが発生しました。i386 に戻ったところ、R2.14.0 では rpy が動作しないというエラーが表示されました。古いバージョンの R を試してみます。

さらに見直してみると、私はばかです。私はrpy2をダウンロードして、次の同じ変更を加えましたが、それは魅力のように機能します。

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

python - PyPyはそれ自体を翻訳しますか?

私はこれをまっすぐにしていますか?PyPyインタープリターは実際にそれ自体を解釈してから、それ自体を翻訳しますか?

これが私の現在の理解です:

  • RPythonのツールチェーンには、翻訳対象のプログラムを部分的に実行して、注釈を付けて翻訳するための一種の前処理済みバージョンを取得することが含まれます。
  • CPython上で実行されるPyPyインタープリターは、それ自体を部分的に解釈するために実行され、その時点で、変換を実行するRPythonの半分に制御を渡しますか?

これが本当なら、これは私が今まで見た中で最も心を曲げるものの1つです。

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

python - RPythonsysメソッドが機能しない

私は次のコードを持っています:

ただし、実行するpython ./pypy/pypy/translator/goal/translate.py t.pyと、次のエラーが発生します。

実際にはエラーにはもっと多くのことがありましたが、私はこの最後の部分だけが関連していると思いました。もっと参考になると思われる場合は、コメントしてください。編集します。

実際、sys.exitをsys.stdout.writeのようなさらに単純なものに置き換えると、別のエラーが発生します。

私に与える:

sysメソッドは単にRPythonの立ち入り禁止ですか?exitとstdoutはCですぐに利用できるので、私にはちょっと奇妙に思えます。ただし、エラーメッセージは別のもののように見えるので、間違ったツリーを吠えているだけかもしれません。

現在、このガイドを使用して、RPythonで許可されているものと許可されていないものを大まかに把握しています。詳細については、他にアクセスしやすいリファレンスを使用できますか?

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

django - djangoアプリでrpyを使用すると、RPy_Exceptionがスローされます。R関数「get」が見つかりません

トレースバック(コピー貼り付け)は次のとおりです。

どんな手掛かり?

編集:これがコードです

誤解しないでください、それはエラーが発生している行です。別のPythonプロンプトを試してみましたが、import rpy失敗しません。ウェブサイトでのみ失敗しています。なんで?