2017-03-27 26 views
1

pythonプロジェクトの依存関係としてselenium webdriverをインストールする方法はありますか?pythonプロジェクトの依存関係としてselenium webdriverを追加

私はこのプロジェクトがosになると、このプロジェクトがこのosで正しく動作するためには問題にならないようにセレンのwebdriverがインストールされていません。

ありがとうございます。

PS:この質問に対する私自身の答えを見てください。

ステファン

+0

webdriverはPythonパッケージではないので、それを依存関係として追加することは不可能です。また、Webdriverはサードパーティによって提供されるため、ユーザーにダウンロードを依頼する必要があります。 –

+0

OK、次に、osにセレンが全体的にインストールされている(mavenプロジェクトでアクセス可能)が、pythonの部分を持っていないとします。 mavenに追加できるので、このPythonの部分をプロジェクトに依存するものとして追加する方法はありますか? –

答えて

1

これはすべてのプロジェクトで行った方法です。

  • すべてのプロジェクト依存関係が記述されたテキストファイルを作成します。あなたもバージョンに言及していることを確認してください。 例:requirement.txt

    • pytest == 2.9.1
    • セレン== 2.35.1
  • 新しい仮想環境を作成し、シェルスクリプトやバッチファイルを作成し、すべての依存関係をインストールし、テストを実行します。
+0

これはOPが何を求めているかではありません... OPはセレンではなくセレンのwebdriverについて質問しています。 –

+0

私の場合、このPythonプロジェクトは、WindowsベースのブラウザVM上で実行する必要があります。これは、Java Maven依存関係としてセレンを実行できます。私はメインセレンの実行を呼び出すためにセレンのpythonの部分が必要なのか、間違っていますか? –

+0

@AlexFung requirement.txtは単なる例です。彼は彼のプロジェクト要件に異なる依存関係の基盤を置くことができます。 –

0

私はこの方法で私の問題を解決しました:

  1. 私は、次のコマンドを使用してセレンをインストール
  2. に取り組んでいます、現在のOSのためのピップのインストール:

    pip install --install-option="--prefix=<path_to_dependencies_in_my_python_project>" -U selenium 
    
  3. インポートセレンをこの依存プロジェクトフォルダのモジュール

また別の方法として、新しいOSにセレンがインストールされているかどうかをチェックし、そうでない場合はpythonスクリプトでインストールします。 - Windows上で、それがサブフォルダにインストールされている間、Linux上で、それは、フォルダに直接インストールされている

# windows 
try: 
    from selenium import webdriver 
except ModuleNotFoundError: 
    os.system("pip install --install-option=\"--prefix={}\" selenium" 
       .format(os.path.join(project_main_folder_path, "_depedencies"))) 
    from selenium import webdriver 

# Linux 
try: 
    from selenium import webdriver 
except: 
    os.system("pip install selenium -t {}" 
       .format(os.path.join(project_main_folder_path, "_depedencies", "Lib", "site-packages"))) 
    from selenium import webdriver 

パス機能の違いを見てみましょう:コードは、そのような何かに見えます"Lib \ site-packages"また理由は分かりませんが、問題がありました名前 'ModuleNotFoundError'が定義されていません

関連する問題