質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

PyPy

PyPy(パイパイ)は、RPythonで記述されたPythonの実装のひとつです。CPythonとの互換性に重点を置いて開発されており、コードを必要に応じて機械語にコンパイルする「JITコンパイル機能」を備えています。

Q&A

解決済

1回答

1441閲覧

pypyでコンパイルしたプログラムを配布したい。

akisan55

総合スコア49

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

PyPy

PyPy(パイパイ)は、RPythonで記述されたPythonの実装のひとつです。CPythonとの互換性に重点を置いて開発されており、コードを必要に応じて機械語にコンパイルする「JITコンパイル機能」を備えています。

0グッド

0クリップ

投稿2021/04/17 11:53

編集2021/04/18 05:17

###概要
Pythonの処理を速くするために、PyPyを使用しています。
次のtest.pyを作成しました。
test.py

import tkinter as tk root = tk.Tk() root.mainloop()

test.pyをpypyw(コンソール画面を透明にしたいから)で実行するのですが、
もちろんPyPyをインストールしていないと出来ません。
PyPy環境が整っていないユーザーに、pypyで動作するプログラムを配布するにはどうしたら良いですか。
###試したこと
PyPyのexe化を試みた。
→PyPyのtranslate.pyがPython2のコードで書かれているので、出来なかった。
http://shive.hateblo.jp/entry/20101116/1289875817

PyPyをcffiに埋め込む
→PyPy環境がないと実行出来なかった。
https://postd.cc/embedding-pypy-in-a-c-application/

PyPyプログラムを全て入れる。
https://www.pypy.org/download.htmlでダウンロードしたファイルを
test.pyと同じディレクトリに配置する。
→容量が重くなるので、望ましくない。あとスクリプトが見えてしまう。

py_compileを使って、pypyの.pycを作る。
→作成された.pycファイルが実行できない。
###プログラムを作る環境
Windows10 64bit
Python 3.7.9[PyPy 7.3.3-beta0 with MSC v.1927 32 bit]
Visual studioは既にインストール済み
###実現したい事
できれば、PyPy3のスクリプトをexe化したいです。
(CPythonならば、Pyinstallerやpy2exeでexe化出来ます。)

https://teratail.com/questions/327463で質問をした後、
cffiを使って、プログラムを書いていました。
しかし、サーバーを介して他のパソコン機器で実験すると、「libpypy3-c.dllがない」とエラーが発生しました。
どうか、PyPyに詳しい人お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2021/04/18 02:27

> 「libpypy3-c.dllがない」とエラーが発生しました。 「libpypy3-c.dll」も別パソコンに持っていっても、ダメでしょうか?
akisan55

2021/04/18 09:30

有難うございます。 libpypy3-c以外にもdllファイルは必要でしたが、正常に動作しました。 助かりました。
guest

回答1

0

ベストアンサー

サーバーを介して他のパソコン機器で実験すると、「libpypy3-c.dllがない」とエラーが発生しました。

必要なdllは、pypyをインストールしてexeを作成したパソコン内のどこかにあります
それらを探して、exeを実行したい(pypyをインストールしてない)パソコンに、exeと一緒に持っていったら、エラー出なくなると思います

必要なdllは、「libpypy3-c.dll」以外にもあるかもしれません
作成したexeが直接必要としているdllだけでなく、dllが別のdllを必要としている場合もあります

Visual studioは既にインストール済み

visual studio入れてるなら、dumpbinで必要なdllを調べることができます
DLL関係のメモ書き

投稿2021/04/19 02:05

jbpb0

総合スコア7651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問