DjangoとCentOS7とMySQLと。
基本的にはここに書いてある流れ
http://awesome-linus.tk/2017/09/02/django-install/
だけどAnacondaはインストールできなかった。
また、
apt-get install python3-dev libmysqlclient-dev
を入力するもapt-getがないよと。
apt-get入れればいいのかと思って
調べたけど結局ここと同じ結果。
CentOSにapt-getが入らない・インストール出来ない linux | NormalBlog.net
あきらめて次。
pip install PyMySQL
をたたくもpipがないよと言われる。
入れたはずなのに。
そしたらここに別の方法があった。
CentOS7にPython3とpipをインストールする - ゾンビでもわかるPythonプログラミング
pythonコマンドのモジュール指定で実行する方法らしい。
$ python3.6 -m pip 〇〇
とかそんな感じ。
で、一番上に乗せたサイトの手順に沿って
Djangoプロジェクト作成までは何とかなる感じ。
でも途中インストールしようとするとちょいちょいエラーで怒られる。
そのときは下記のサイトの2とか4とか
MySQL-pythonをインストールするまで - Qiita
ついでに、python3.6で動かしたいので
$ python3.6 manage.py ~
など
$pythonではなく
$python3.6でもろもろたたく。
いろいろ進めたけどホストOSのブラウザから
ゲストOSのDjangoを確認することはどうしてもできなかった。
CentOS7.0でPython3.6を使う
ようやくできた。
前に書いたときもできたって書いたけど
実際にはyumが通らなくなってた。
原因ははっきりとはわからないけど
python2.4,2.6とかいろいろ入れてそっちにダウングレードしてしまったことで
yumが使えなくなったのではないかと。
yumは2.7.5とかじゃないとだめっぽい(デフォルトで入っているやつ?)
2.7.5を入れたんだけど結局だめだったので
もう一度一から諸々入れなおして
ようやく。
/usr/bin/python -> python2
/usr/bin/python2 -> python 2.7
以下略
となっていたところを
/usr/bin/python -> /usr/bin/python3.6
にして
/bin/yumの
!/usr/bin/pythonを
!/user/bin/python2に変更して完了。
無事yumが通るようになった。
と思いきや、またエラー
ググったらここがまさに解決法を示してくれていた
ファイアーウォール関連のコマンドをたたいていると
File "/usr/bin/firewall-cmd", line 24, in <module>
from gi.repository import GObject
ModuleNotFoundError: No module named 'gi'
とかいうエラーがでた。
vi /usr/bin/firewall-cmd
でまたパスを/usr/bin/python から/usr/bin/python2に変更した。
これエラー出るたびに都度対応しなければいけないよなぁ…
やっぱ別の方法にした方がよかった気がして仕方がない。
まあ行き詰ったらまた最初からやり直します。
yumが使えなくなる件について
今まで何度もpython3で開発環境を作ろうとしては
yumが通らなくなることで行き詰っていた
ようやくなんとか両方を両立させることができた。
pythonバージョンアップによる/bin/yumのsyntaxエラー [except KeyboardInterrupt, e:] – yoseatsu.me
ここらへんを参考に。
ようするにpathの設定が正しくできていないことが原因だった。
ちなみにとった方法は/bin/yumの
!/usr/bin/pythonを書き換える方にした。
!/usr/bin/python2.7って感じに。
ぐちゃぐちゃ/usr/bin/のpython関連のシンボリックリンクを
弄っていたら/usr/bin/python2とかも消えたので
python2.7を入れてシンボリックリンクを張りなおした。
そもそも/usr/local/bin以下にpythonの各フォルダがある
ことにしばらく気づかなかったって言うね・・・。
/usr/local/bin/python2.7 -> /usr/bin/python2.7
/usr/bin/python -> /usr/bin/Python3.6
でそれぞれリンクを張ってなんとかなった。