カスタム インストールを使用して、インストール中に setup.py から Python スクリプトを呼び出そうとしました。
class CustomInstall(install):
def run(self):
install.run(self)
...
p = subprocess.Popen(
[sys.executable, 'demo_package/deploy_database.py'],
shell=True,
stdout=subprocess.PIPE,
cwd=os.path.join(self.install_lib, 'demo_package'))
out, err = p.communicate()
setup(..., cmdclass=dict(install=CustomInstall))
パッケージを Ubuntu マシンにデプロイすると、プロセスは deploy_database.py を実行する代わりに何も表示しません。Ctrl+C で手動で停止すると、実際に deploy_database.py を実行するのではなく、単に Python を起動することを出力が示しているようです。
^CDownloading/unpacking PypiPackagesMonitoring
Downloading demo-1.0.64.zip
Running setup.py egg_info for package demo
Installing collected packages: demo
Running setup.py install for demo
Python 3.3.2+ (default, Oct 9 2013, 14:50:09)
[GCC 4.8.1 on linux
Type "help", "copyright", "credits" or "license" for more information.
Cleaning up...
Operation cancelled by the user
Storing complete log in /home/.../.pip/pip.log
Python スクリプトを呼び出す方法の何が問題になっていますか? 代わりにどうすればいいですか?