こんにちは、みやびのです。

「PythonistaでCythonが動かないか」
とふと思い立ったので試してみました。

結論から言うとCythonはPythonistaではいろいろ制約があるため今回は実行できませんでした。
とりあえず今回検証した結果を本記事に記しておきます。

今回検証したことと結果は以下の通り。

項目 検証結果 備考
Cythonのインストール
Cythonファイルの編集
pyxファイルから.cファイルへのコンパイル
Cythonコマンドの実行 2段階コンパイルができない
gccのインストール × C言語の疑似実行アプリはいくつかあるが、gccはめっちゃ古い情報しか出てこない。
gccのコンパイル × インストールできないので当然コンパイルもできない
コンパイル後ファイル(.so)のインポート ×

完全に思いつきでやってみただけなのであまり深追いはしていません。
適当に読み流して下され。

Pythonista+Cythonの検証結果

PythonistaにCythonをインストール

stash+pip installで問題なくインストールできました。

pip install cython

Cythonファイルの編集

empty scriptで作ると強制的に.pyファイルに書き換わってしまうようなので、「Plain Text File」から作成します。当然ハイライト機能はありません。

pyxファイルから.cファイルへのコンパイル

stashでターミナルを開くことでpyxのファイルのコンパイルが可能です。
cythonコマンド及びcythonizeコマンドでコンパイルすることもできます。

ただし、gccコンパイルがないので2段階コンパイルはできません。

gccのインストール

C言語を疑似実行できるアプリはいくつかあるようですが、gccコンパイルできるアプリは確認できませんでした。

gcc+iPhoneやC言語+iPhoneでググってみましたが日付が古いものばかり。リンク切れているものも多いですね。
いろいろググってみましたが最近検証している記事は確認できませんでした。

コンパイル後ファイル(.so)のインポート

Macで作成した.soファイルをインポートしてみました。
まあ、概ね予想通りでしたが読み込みできませんでした。

.pydファイルは試していませんが、Windows用のファイルなのでまず互換性はないと思います。

結論:CythonはPythonistaにインストールできるがまともに動かん

Cythonライブラリ自体は正常に動いているようですが、gccなどC言語の動作環境が整っていないので現状は実行不可です。

問題となるのは以下の2点。

・gccコンパイラがインストールできない
・コンパイル後ファイル(.so)のインポートできない

今回は思いつきなのであまり深追いはしていません。

まあ、できたからなんやという話ですからね。こんなんより他にやることたくさんあるやろ。
また気が向いた時にでも試してみるかもしれません。

では、今日はこのあたりで。

Cythonの始め方>>Cython(サイソン)とは?Python+C言語で高速化しよう