2016-09-19 19 views
4

pyinstallerを使用してPythonスクリプトの実行ファイルを作成しています。私はこれらの輸入品を使用していたスクリプトで
pyinstaller myscript.pyを実行しているときにpyinstallerにchromeriverを含めるにはどうすればよいですか?

from selenium import webdriver 
from selenium.webdriver.chrome.options import Options 
etc... 

問題があるが、それは代わりにクロムのFirefoxは、含めてになります。結果のフォルダc:... \ dist \ myscript \ selenium \ webdriverにはfirefoxフォルダがありますので、chromedriverをスキップしています。このスクリプトはChromeで実行する必要があるため、私にとって重大な問題です。
このトピックの周りにはいくつか質問がありますが、問題を解決するための答えはありません。

...それはバイナリファイルであるため、これは、バイナリファイルとして追加する必要があります... おかげ

+0

[データファイル](https://pythonhosted.org/PyInstaller/spec-files.html#adding-files-to-the-bundle)として追加することはできますが、問題。 – Repiklis

+0

ありがとう、私はこれを試してみます。その間、私は回避策を見つけました。つまり、ターゲットマシンにchromedriverをインストールし、そのフォルダをPathに追加しますが、それを使わないで何かを見つけなければなりません。 – monami

+0

あなたのアイデアを回答として追加してみませんか? :)私の問題を解決した、私は仕様にバイナリファイルとしてchromedriver.exeを追加しました。再度、感謝します! – monami

答えて

4

を私はコマンドに--hidden-import MODULENAMEタグを追加することで考えていたが、モジュールがchromedriver.exeではありません

..... 
a = Analysis(['myscript.py'], 
      pathex=['path\\to\\my\\script'], 
      binaries=[ ('path\\to\\my\\chromedriver.exe', '.\\selenium\\webdriver') ], 
      datas=None, 
.... 

し、次いでpyInstallerのを実行します。DISTの\ののMyScriptにchromedriverのローカルシステム上のパスと目的の場所の相対が、それは次のようになりますので、定義されなければならない必要なので、カスタムspecファイル この仕様ファイル:pyinstaller myscript.spec myscript.py

+0

私はあなたの答えに[質問](http://stackoverflow.com/questions/41009492/pyinstaller-generated-app-does-not-link-to-the-specified-binary-chromedriver)を持っています – Phillip

+0

ここには更新されています[質問](http://stackoverflow.com/questions/41030257/is-there-a-way-to-bundle-a-binary-file-such-as-chromedriver-with-a-single-file) – Phillip

関連する問題