0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【忘備録】Vagrantを使用した際のpipに関する注意

Posted at

現在、VagrantとVirtualBoxを用いて、仮想環境を構築して、作業してます。
その際に、pipのInstallで問題が起きたときの忘備録です。

モジュールのInstallが完了と出るのに、Installされていない

vagrantからssh接続を実施して、pythonの仮想環境を起動して、
必要なモジュールをInstallしようとすると

(scraping) vagrant@ubuntu-bionic:/home$ pip install requests
Collecting requests
  Using cached https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in ./scraping/lib/python3.7/site-packages (from requests)
Requirement already satisfied: idna<2.9,>=2.5 in ./scraping/lib/python3.7/site-packages (from requests)
 ・
 ・
 ・
PermissionError: [Errno 13] Permission denied: '/home/scraping/lib/python3.7/site-packages/requests'

途中まで順調だがPermissionErrorで怒られる。
pip install pyopenssl で Permission denied」を参考にオプションをつけると、確かにうまくいった。
しかし、

(scraping) vagrant@ubuntu-bionic:/home$ pip freeze
certifi==2019.9.11
chardet==3.0.4
idna==2.8
pkg-resources==0.0.0
urllib3==1.25.6

Installしたはずの「request」がない。

解決方法

管理者権限のあるユーザーで必要な仮想環境にモジュールをInstallする。

vagrant@ubuntu-bionic:/home$ sudo su #管理者権限をもつユーザに変更
root@ubuntu-bionic:/home# . scraping/bin/activate #仮想環境を起動
(scraping) root@ubuntu-bionic:/home# pip install requests
Collecting requests
  Using cached https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl
Requirement already satisfied: idna<2.9,>=2.5 in ./scraping/lib/python3.7/site-packages (from requests)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in ./scraping/lib/python3.7/site-packages (from requests)
Requirement already satisfied: certifi>=2017.4.17 in ./scraping/lib/python3.7/site-packages (from requests)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in ./scraping/lib/python3.7/site-packages (from requests)
Installing collected packages: requests
Successfully installed requests-2.22.0
(scraping) root@ubuntu-bionic:/home# pip freeze
certifi==2019.9.11
chardet==3.0.4
idna==2.8
pkg-resources==0.0.0
requests==2.22.0
urllib3==1.25.6

「request」がInstallされた。
その後、再度、一般ユーザで確認しても

(scraping) vagrant@ubuntu-bionic:/home$ pip freeze
certifi==2019.9.11
chardet==3.0.4
idna==2.8
pkg-resources==0.0.0
requests==2.22.0
urllib3==1.25.6

「request」がInstallされている。

まとめ

管理者ユーザでモジュールをInstallすれば、問題なくできた。
であれば、一般ユーザ時にはオプションを付けたときに成功した分はどこにInstallされたのか。
デフォルトとしてユーザのベースバイナリディレクトリ ~/.local 下にパッケージがインストールされらるしいが、
それらしきディレクトリがみつからない。
見つけたら、また追記します。

参考文献

pip install pyopenssl で Permission denied
Python:pip における管理者権限と user install

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?