2015-09-15 7 views
8

私は、Pythonスクリプトを他のPythonスクリプトにインポートすると、.pycスクリプトが作成されることを知っています。 linux bash terminalを使って.pycファイルを作成する他の方法はありますか?Pythonスクリプトから.pycファイルを作る方法

+0

$ python -c "import script"を実行できませんか? – Yichun

+1

['python -m compileall'](https://docs.python.org/2/library/compileall.html) –

+0

pycを作るのに 'zipfile'を使うべきだと思います。 それはとても簡単です。 これを使用して、no srcでコードをデプロイすることができます。 – xiaohen

答えて

5

py_compileモジュールを使用できます。コマンドライン(-mオプション)からそれを実行します。

このモジュールはスクリプトとして実行され

メイン()は、コマンドラインで指定されたすべての ファイルをコンパイルするために使用されます。

例:

$ tree 
. 
└── script.py 

0 directories, 1 file 
$ python3 -mpy_compile script.py 
$ tree 
. 
├── __pycache__ 
│   └── script.cpython-34.pyc 
└── script.py 

1 directory, 2 files 

compileallはあなたが

... は、ソースファイルが含まれてコンパイルするファイルやディレクトリです
$ python3 -m compileall ... 

ような何かをしたい、それを使用するために、同様の機能を提供し、再帰的に横断する。前者はmodule.pyif __name__ == '__main__':ブロックを実行しませんので、

$ tree 
. 
├── module.py 
├── __pycache__ 
│   └── script.cpython-34.pyc 
└── script.py 

1 directory, 3 files 
$ python3 -c 'import module' 
$ tree 
. 
├── module.py 
├── __pycache__ 
│   ├── module.cpython-34.pyc 
│   └── script.cpython-34.pyc 
└── script.py 

1 directory, 4 files 

-c 'import module'-m moduleと異なっている:


別のオプションは、モジュールをインポートすることです。

6

は、次のコマンドを使用します。

python -m compileall <your_script.py> 

これは、同じディレクトリにyour_script.pycファイルが作成されます。これは

その他の方法は

import py_compile 
py_compile.compile("your_script.py") 
として別のスクリプトを作成することですディレクトリ内のすべての.pyファイル用に.pycファイルを作成します

python -m compileall <directory> 

あなたにもディレクトリを渡すことができます

また、your_script.pycファイルも作成します。あなたはコマンドライン引数としてファイル名を取ることができます

関連する問題