2016-11-26 20 views
0

これまでPy2exeを使用していましたが、Firefoxで使用されているselenium Webドライバの依存関係を追加する方法や、スクリプトで使用した他のインポートパッケージを追加する方法がわかりません。セレンウェブドライバで作成された.pyファイルの.exeを作成するには?

私もPyinstallerを調べましたが、依存関係の追加に失敗しました。

私は初めてやっていますので、正しく行う方法をお勧めします。

あなたはCX_Freezeを試してみたいことがありますあなたに

答えて

0

をありがとう、それはあなたのコードのために必要なすべてのパッケージ/依存関係を単一の.EXEとして実行するために追加されます

pip install cx_Freeze 
+0

こんにちは、私はこれを試してみましたが、何とかそのは、Firefox用のドライバとexeファイルを追加していないか、MSIは何もすることができないが、明示的に追加することが方法は何ですか? – Priyank

+0

Firefoxのドライバがインストールされている限り、問題はありませんが、実際にInnoSetupを参照して配布する必要がある場合は、Pythonモジュール/パッケージではありません。 – Inconnu

+0

ありがとう私はもう一度それを試して、私はexeを構築し、私は何もしないexeをダブルクリックしようとするとき。私も管理者としてそれを実行しようとしました。私もmsiをインストールしましたが、msiをインストールすることができましたが、プログラムファイルに同じ問題がありました.exeは何もしません。 – Priyank

1

あなたのpythonをパックするpy2exeを使用することができますスクリプトをスタンドアロンの実行可能ファイルとして使用します。

デフォルトでは、py2exeはすべてのインポートされたパッケージをパックします。あなたがブラウザをパックしたい場合は、ポータブルブラウザを使用する必要があります。

py2exeパッケージにポータブルブラウザをデータとして追加して、webdriverを初期化するときに実用的なパスを指定することができます。

以下のクラスの引数executable_pathを使用して、実行可能なfirefoxバイナリを指定できます。

webdriver.Firefox(self, firefox_profile=None,firefox_binary=None, timeout=30, capabilities=None, proxy=None, executable_path=geckodriver, firefox_options=None, log_path=geckodriver.log) 

**私はコメントを追加するオプションがないので、回答として書いてください。

1

setup.pyファイルでセレンウェブドライブの場所を指定する必要があります。

次のコードは役立つはず:あなたはPythonスクリプト/アプリケーションの実行ファイルを作成するためにpyinstallerまたはcx_freezeを使用することができます

from distutils.core import setup 
import py2exe 

# Change the path in the following line for webdriver.xpi 
data_files = [('selenium/webdriver/firefox', ['C:/Python27/Lib/site-packages/selenium/webdriver/firefox/webdriver.xpi'])] 

setup(
    name='Name of app', 
    version='1.0', 
    description='Description of app', 
    author='author name', 
    author_email='author email', 
    url='', 
    windows=[{'script': 'test.py'}], # the main py file 
    data_files=data_files, 
    options={ 
     'py2exe': 
      { 
       'skip_archive': True, 
       'optimize': 2, 
      } 
    } 
) 
+0

私はexeを作成することができましたが、以下のいくつかのメッセージが表示され、私は何もしないexeを実行しようとしたとき、このように応答していただきありがとうございます。 'Carbon'、 'C​​arbon.Files'、 '_scproxy'、 '_sysconfigdata'、 'urllib.parse'、 'winreg.CloseKey'、 'winreg.HKEY_CURRENT_USER'、 'winreg.HKEY_LOCAL_MACHINE'のモジュールは、 、 'winreg.OpenKey'、 'winreg.OpenKeyEx'、 'winreg.QueryValue'、 'winreg.QueryValueEx'] – Priyank

+0

***バイナリの依存関係*** これらのDLLには実行ファイルも含まれていますが、 あなたはそれらを配布する必要があるかもしれません。 いずれかを配布する場合はライセンスを取得してください。 は、オペレーティングシステムに属するファイルを配布しないようにしてください。 OLEAUT32。dll - C:¥WINDOWS¥system32¥OLEAUT32.dll USER32.dll - C:\ WINDOWS \ system32 \ USER32.dll SHELL32.dll - C:\ WINDOWS \ system32 \ SHELL32.dll KERNEL32.dll - C:\ WINDOWS \ system32 \ KERNEL32.dll ADVAPI32.dll - C:\ WINDOWS \ system32 \ ADVAPI32.dll WS2_32.dll - C:\ WINDOWS \ system32 \ WS2_32.dll – Priyank

0

。 pyInstallerのの

コマンド:

pyinstaller.exe --onefile --windowed <python file name> 
関連する問題