ubuntu16.04
さくらvps
ubuntu16.04にpython3.6.8をインストールしております。
venvを使用して仮想環境を作っているのですがうまくpathが通っていないのかもしれません。
~/.bashrcにpathを記入してみました
export PYTHONPATH= "/home/ubuntu/venv/lib/python.3.6/site-packages"
普通にpipするとなぜかローカルにインストールされてしまうので下記のコマンドで場所を指定してpipしています
requirement.txtにはdjangoやuwsgiが記入されています。
pip install requirement.txt -t /home/ubuntu/venv/lib/python3.6/site-packages
venvをactivateしてpythonを探します
(venv) ubuntu@tkxxxx:~$ which python /home/ubuntu/venv/bin/python
uwsgiは見つからない
(venv) ubuntu@tk:~$ which uwsgi
(venv) ubuntu@tk:~$ which pip /usr/local/bin/pip
pip freezeでもuwsgiが見つからない
どの様にすれば
/home/ubuntu/venv/lib/python3.6/site-packages
にパスが通るでしょうか。
よろしくお願いいたします。
venvをactivateする前後のprintenvの結果を確認すると解決に近づくと思います。
回答ありがとうございます。
activate前PATH=/home/ubuntu/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
PYTHONPATH=
activate後
PATH=/home/ubuntu/venv/bin:/home/ubuntu/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
PYTHONPATH=
となっております
どちらもPYTHNPATHが空白となっております。これが原因でしょうか?
activate後
python
import sys
print(sys.path)
['', '/home/ubuntu/lib/python3.6/site-packages', '/home/ubuntu', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/ubuntu/venv/lib/python3.6/site-packages']
pathは通っている様ですが、やはり
which django
which uwsgi
などでは見つけられない様です
acitivateした状態で
(venv) ~$pip -V
とすると
pip 19.0.2 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
ローカルのpythonを指しています
これが原因なのではないかと考えているのですがよく分かりません。
venvのpipを使用するにはどうすれば良いでしょうか?
(venv) ~$pip -V
ではなく
(venv) ~$python -m pip -V
としてみてください。これでvenv配下のpipになれば、
(venv) ~$python -m pip install -r requirement.txt
すれば良いと思います。
(venv) ~$ python -m pip -V
/home/ubuntu/venv/bin/python: No module named pip
どうも後からインストールしたpython3.6にpipが入っていない様です。
curl -kL https://bootstrap.pypa.io/get-pip.py | sudo python3
pipを入れようとコマンドを入力すると
Successfully installed pip-19.0.2
成功の表示がされるのですが再度コマンドを入力しても
(venv) ~$ python -m pip -V
/home/ubuntu/venv/bin/python: No module named pip
どうやらローカルのpipが更新されている様です。
venv下のpythonにpipをインストールするにはどうすれば良いでしょうか?
curl -kL https://bootstrap.pypa.io/get-pip.py | sudo python3
からsudo外したらいけました
YouheiSakurai様
ありがとうございました。質問を閉じたいと思います。
もしよろしければベストアンサーを送らせてください。
投稿お待ちしております
お気遣いありがとうございます。私は方法を提案しただけですので、できればご自身で原因と解決策をまとめて自己解決として閉じていただくのが一番良いと思います。

回答1件
あなたの回答
tips
プレビュー