ERRORは:からデフォルトソースのリストをダウンロードすることはできません
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
のウェブサイトがダウンすることができます。
ソリューション:私はあなたができる、最後の1を使用しています
トレースバック(最新の呼び出しの最後):ファイル "は/ usr / binに/ rosdep"、3行目、中に<モジュール> rosdep2.mainインポートからはImportError rosdep_main:いいえモジュールの名前 'rosdep2'
ソリューション:UbuntuのデフォルトのPythonのバージョンは2.7に設定されています。
エラーの場合:
ERROR:からデフォルトソースのリストをダウンロードすることはできません。
https://でraw.githubusercontent.com /ros/rosdistro/master/rosdep/sources.list.d/20-default.list
ウェブサイトがダウンしている可能性が。
ソリューション:
1)最初のsudo -E rosdepのinitしてみてください。次のステップを見ていません。
2)(プロキシサーバーが正しく設定されていない)ネットワークがブロックされているを見てみましょう
ENV | grepのプロキシ
HTTP_PROXY、HTTPS_PROXYは、http_proxy、HTTPS_PROXYこれらの設定OKの場合を見て。
FirefoxブラウザとGoogleでアクセスしようとするHTTPS:// raw.githubusercontent.com /ros/rosdistro/master/rosdep/sources.list.d/20-default.list、
あなたがアクセスすることができない場合は、ネットワークが切断されています。最初は、ネットワークを介して転送しました。ネットワークを介して転送は、次のステップを見て十分ではありません。
3)証明書がないかどうかを確認するためにwgetのテストを使用して
wgetのhttps://でraw.githubusercontent.com /ros/rosdistro/master/rosdep/sources.list.d/20-default.list
復帰する場合
ERROR:確認できない優れたビルドのソフトウェアを、一緒に ....... 'によって発行の証明書、':
ローカル発行者の権限を確認することができません。
接続するには、一緒に、より良いビルドソフトウェア安全でない、使用`--no-チェック、証明書。
その後、証明書が間違っています。前述したように、この時点でそれは--no-チェック証明書、試して増加示唆
wgetの--no-チェック証明書のhttps:// raw.githubusercontent.com /ros/rosdistro/master/rosdep/sources.list.d/20-default.list
その後、あなたは正しいファイルを取得する場合、それは証明書が確かに間違っていることを意味しています。
4)問題の証明書を解決しよう
sudoのCA-証明書をインストールapt-getを
sudoのc_rehashの/ etc / sslの/ certsの
それでも、トラブルを解決できない場合は、トラブルは巨大な、バイパス証明書下記の方法でなければなりません。
あなたが証明書バイパスに試すことができる場合5)以下は、小さなプログラムのpython3であります
インポート要求
輸入requests_ntlm
urllib.request輸入urlopenから
urllib.error輸入URLErrorから
輸入SSL
#方法1:セッションの訪問のhttp例
セッション= requests.session()
session.auth = requests_ntlm.HttpNtlmAuth(R 'ドメイン\ユーザー名'、 'パスワード'、セッション)
session.proxies = { "HTTP": "(ユーザー名とパスワードを含まない)は、HTTPプロキシ"、 "HTTPS": "(ユーザー名とパスワードを含まない)あなたのHTTPSプロキシ"}
ページ= session.get( ' Baiduの、あなたが知っています ')
印刷(page.content.decode())
#方法1:セッションアクセスHTTPS、証明書の例をバイパスし、キーセンテンスを確認します= Falseの
セッション1 = requests.session()
session1.proxies = { "HTTP": "(ユーザー名とパスワードを含む)あなたは、HTTPプロキシ"、 "HTTPS": "(ユーザ名とパスワードを含む)あなたのHTTPSプロキシ"}
ページ1 = session1.get( ' https://でraw.githubusercontent.com /ros/rosdistro/master/rosdep/sources.list.d/20-default.list '、= Falseのを確認してください)
印刷(page1.content.decode())
#メソッド3:例としては、証明書をバイパスし、HTTPSを訪問urlopen
コンテキスト= ssl._create_unverified_context()
F = urlopen( ' https://でraw.githubusercontent.com /ros/rosdistro/master/rosdep/sources.list.d/20-default.list '、タイムアウト= 10.0、コンテキスト=コンテキスト)
印刷(f.read())
テストは、結果を得るためにすべての3つのメソッドを通過した場合、それが実行可能な戦略を迂回意味し、次のステップは、バイパス実装巨大な巨大な悩みです。
6)証明書をバイパスします
1>が見つかりrosdep
我々はwhereisはrosdepを使用するようにsudo -E rosdepのinit、失敗しているので、見た目のrosdeopは与えるものです。
rosde:は/ usr / binに/ rosdep
それはpython2プログラムです。だから、私たちの戦略は明確で、ソースコードを変更rosdepで、訪問のURLへのすべての場所は、証明書迂回するように変更されました。
2>が見つかりrosdep2
まず、コンテンツrosdepから、あなたが見ることができます
rosdep2.main輸入rosdep_mainから
そこで、我々はどこrosdep2を見ています。sys.pathを見ることによって、b.pyを書くことで、わずか2行の内容を
輸入SYS
印刷のsys.path
そして、python2のb.pyで実行、我々はすべてのpython2のパスを参照してください。
疑わ2を含みます:
'/opt/ros/kinetic/lib/python2.7/dist-packages'、 '/usr/lib/python2.7'
彼らは第二、位置を最初に見つかった1の内部を、見つけることができませんでした、検索しました:
/usr/lib/python2.7/dist-packages/rosdep2
どのmain.py持っている機能を持っている、rosdep_main
3>アクセスコードのURLを検索し、それに従ってください
main.pyにおいて、rosdep_mainから出発して()、COMMAND_INIT()、その後追跡download_default_sources_list()を追跡し、文は文の前後プリントでフレーズを追加することにより、エラーを見つけることです()。
download_default_sources_listは())(それはdownload_default_sources_listを標的とする、オープンsources_list.pyあり、.sources_listインポートからのものです
ここでは、urlopen()の使用は、犯人はあります。
4>それを変更
urlopenの前に())(コンテキスト= ssl._create_unverified_contextを増加させます
パラメータを追加するにはurlopen():文脈=コンテキスト
コードは次のようになります。
コンテキスト= ssl._create_unverified_context()#add
試してみてください。
F = urlopen(URL、タイムアウト= DOWNLOAD_TIMEOUT、コンテキスト=コンテキスト)#modified
5>を再実行するにsudo -E rosdepのinit
このエラーによって合格するだけでなく、他の障害に報告は、上記の方法によると、それに続く、全てのurlopenは()を取り除くことができます。
6>ときにsudo -E rosdepのinit rosdepアップデートを実行して、
上記の方法に従って、与えられます、それに続く、全てのurlopenは()を取り除くことができます。
一方/usr/lib/python2.7/dist-packages/下でrosdistro、トラックインポートrosdistroが__init__.pyに応じて、存在しているメモ、。
そして最後に、彼は成功しました。
統計で7>最後の外観は、次の場所を変更します。
./rosdep2/gbpdistro_support.py:import SSL #add私によって
./rosdep2/gbpdistro_support.py:私が#addコンテキスト= ssl._create_unverified_context()
./rosdep2/gbpdistro_support.py:F = urlopen(gbpdistro_url、タイムアウト= DOWNLOAD_TIMEOUT、コンテキスト=コンテキスト)私が#modified
./rosdep2/sources_list.py:import SSL #add私によって
./rosdep2/sources_list.py:私が#addコンテキスト= ssl._create_unverified_context()
./rosdep2/sources_list.py:F = urlopen(urlには、タイムアウト= DOWNLOAD_TIMEOUT、文脈=コンテキスト)私が#modified
./rosdep2/sources_list.py:私が#addコンテキスト= ssl._create_unverified_context()
./rosdep2/sources_list.py:F = urlopen(urlには、タイムアウト= DOWNLOAD_TIMEOUT、文脈=コンテキスト)私が#modified
./rosdep2/rep3.py:import SSL #add私によって
./rosdep2/rep3.py:私が#addコンテキスト= ssl._create_unverified_context()
./rosdep2/rep3.py:F = urlopen(targets_url、タイムアウト= DOWNLOAD_TIMEOUT、コンテキスト=コンテキスト)私が#modified
./rosdistro/loader.py:import SSL #add私によって
./rosdistro/loader.py:私が#addコンテキスト= ssl._create_unverified_context()
./rosdistro/loader.py:私が#modified FH = urlopen(urlには、タイムアウト=タイムアウト、文脈=コンテキスト)