はじめに
前職は某化学メーカーでゴリゴリの研究者でしたが、ひょんなことから社内のAI活用推進チームに参加することになり、AWSを中心にPythonなども触っていました(誇れるほどの技術は持ち合わせていません)。
プライベートな事情で転職を決意し、同業他社に移りました。業務は相変わらずバチボコの研究ですが、社内でAIがまだまだ普及していなかったので、その有用性を広めることを決意しました・・・が。
インストールしちゃえ
試用期間中のこともあり、毎日業務内容をチームリーダー(TL)に報告することになりました。
TL 「Excelでもなんでもいいから書いてね〜」
私 「わかりました!!(Excelだりいな・・・Markdownで書きてぇ・・・)」
ということでとりあえずVSCodeをインストールしてMarkdownで体裁の整った美しい業務報告書を作成し、HTMLでチームリーダーに送りました(こんなこともできますよという上司への紹介も含めて)。
〜翌日〜
TL 「これどうやって書いたの?俺もすぐ書けるようになる?」
私 「もちろん秒で書けます!まずVisualStudioCodeというソフトをインストールしてですね・・・」
TL 「ん?勝手にソフトをインストールしたの?うーん、よくないなぁ・・・」
私 「(๑>◡<๑)テヘ⭐️」
TL 「きちんと然るべきところに申請して許可とって」
私 「(´∀`)デスヨネ」
そして煩雑な手続きを経てひとまずVSCodeとPythonをインストールしたのでした。前職はなんでもかんでも勝手にインストールできたのでそのノリでやったのが悪かったですね。転職先はリテラシー(ポリシー?)がしっかりした会社でした。
ターミナルが開かない
インストールしたのは良いがターミナルが開かない問題が発生しました。よくよく調査してみるとPowerShellがそもそも管理者権限がないと開かないこと気づき、IT課に質問。
IT課 「会社のポリシーでPowerShellの使用は禁止されています。」
私 「えぇ・・・(あ、コマンドプロンプトは使えそう)」
というわけでターミナルで開くのをコマンドプロンプトに変更しました。
pip installができない
VSCodeでターミナルが無事開けたのでとりあえず動作確認してみることにしました(仮想環境とかはあと回し)。
私 「よーし、pip install pandasっと」
PC 「無理っす。Timeoutですわ。」
私 「は?」
IT課 「プロキシの影響では?」
私 「へー・・・プロ棋士・・・?羽生九段?」
セキュリティ対策ということですね。ポンコツ素人なので知りませんでした。
以下の記事を参考にプロキシ環境でのpipを試したところ、無事インストールできました!
pip install --proxy http://プロキシのアドレス:ポート パッケージ名
これでインストールできます。
streamlitがインストールできない
streamlitでデータ可視化なんてしちゃおうかなと思ってさっそくプロキシを考慮しつつインストールしました。
pip install --proxy http://プロキシのアドレス:ポート streamlit
ERROR: Could not install packages due to an OSError: HTTPConnectionPool(host='XX.XXX.XX.XX', port=XXXX): Max retries exceeded with url: / (Caused by ResponseError('too many 503 error responses'))
なんでやねん!!!
と、怒りつつ以下の記事を参考に証明書うんぬんを解消しました。
証明書を無視するのは危険です。実行は自己責任でお願いします。
pip install --trusted-host=pypi.python.org --trusted-host=pypi.org --trusted-host=files.pythonhosted.org --upgrade --proxy=http://プロキシのアドレス:ポート streamlit
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> [7 lines of output]
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001E6C565D210>, 'Connection to pypi.org timed out. (connect timeout=15)')': /simple/setuptools/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001E6C565F550>, 'Connection to pypi.org timed out. (connect timeout=15)')': /simple/setuptools/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001E6C5664210>, 'Connection to pypi.org timed out. (connect timeout=15)')': /simple/setuptools/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001E6C5664C10>, 'Connection to pypi.org timed out. (connect timeout=15)')': /simple/setuptools/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001E6C5665910>, 'Connection to pypi.org timed out. (connect timeout=15)')': /simple/setuptools/
ERROR: Could not find a version that satisfies the requirement setuptools>=40.8.0 (from versions: none)
ERROR: No matching distribution found for setuptools>=40.8.0
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
勘弁してよぉ・・・
setuptoolsがうんぬん言っているので以下の記事の通りupgrade pipとsetuptools wheelを行う。
pip install --proxy http://プロキシのアドレス:ポート --upgrade pip
pip install --proxy http://プロキシのアドレス:ポート setuptools wheel
pip install --trusted-host=pypi.python.org --trusted-host=pypi.org --trusted-host=files.pythonhosted.org --upgrade --proxy=http://プロキシのアドレス:ポート streamlit
これで無事インストールできました()。
終わりに
みなさま、勝手にソフトをインストールするのはよくないですよ。きちんと会社のポリシーと手続きのフローを確認しましょう。
(プロキシめんどくさすぎる)
ではまた。