環境
MacOS: High Sierra(10.13.2)
Vagrant: 2.1.2
Ubuntu: 16.04
VirtualBox: 5.2.14r123301
MySQL: 5.7.22-0ubuntu0.16.04.1 (Ubuntu)
Python: 3.6.4
Django: 2.0.2
mysqlclient: 1.3.12
psycopg2: 2.7.4
PyMySQL: 0.8.0
pytz: 2018.4
uWSGI: 2.0.17
その他
anyenv
pyenv
大まかな流れ
- Gitインストール
- リポジトリからプロジェクトをクローン
- MySQLインストール
- mysql-server
- mysql-client
- anyenvインストール
- anyenvのパスを通す
- パッケージインストール
- curl
- llvm
- sqlite3
- libssl-dev
- libbz2-dev
- libreadline-dev
- libsqlite3-dev
- libncurses5-dev
- libncursesw5-dev
- python-tk
- python3-tk
- tk-dev
- pyenv-pip-rehash
- pyenv-virtualenv
- ccache
- pyenv-pip-update
- pyenvインストール
- pyenvのパスを通す
- pythonインストール
仮想環境をvenvで作成する場合はここでストップ
venvでDjangoの環境を作成してみたった(Python3.3以降)
- pipインストール
- pythonのバージョンの切り替え
- mysqlclient関連パッケージインストール
- python-dev
- libmysqlclient-dev
- Djangoインストール
- mysqlclientインストール
- psycopg2インストール
- PyMySQLインストール
- pytzインストール
- uWSGIインストール
- CREATE DATABASE mydb;
- python manage.py makemigrations
- python manage.py migrate
- python manage.py runserver
つまづいたところ
パスを通し忘れた
anyenv
~/.bashrcに以下を記述
(「よしなにやっとけや!」と心の中で突っ込むことを忘れずに!)
if [ -d $HOME/.anyenv ]
then
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
fi
pyenv
~/.bashrcに以下を記述
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
※(2019/1/27追記)たぶんanyenvの設定より上に書かないとまずい?
もし下に書いた場合、$PYENV_ROOTのパスがanyenvを通らない。
echo $PYENV_ROOT # => /home/vagrant/.pyenv ではなく、/home/vagrant/.anyenv/envs/pyenvが正しい
必要なパッケージを入れていなかった
パッケージを入れまくった
(何を入れたのか理解していない)
sudo apt install curl llvm sqlite3 libssl-dev libbz2-dev libreadline-dev libsqlite3-dev libncurses5-dev libncursesw5-dev python-tk python3-tk tk-dev
MySQLの起動の仕方がわからなかった
mysql.server startとかやった、、、
当然NGだったので以下を実行
sudo systemctl start mysql
python -vしたらコンソールを閉じられなくなった
Python初心者キラーに殺されかけた
Ctrl+D
で抜けられた
pipがない
以下を実行
curl -kL https://bootstrap.pypa.io/get-pip.py | sudo python3
pythonのバージョンがデフォルトだった
以下を実行
pyenv local 3.6.4
mysqlclientが入らない
以下を実行
apt-get install python-dev libmysqlclient-dev
マイグレーションファイルが作成できない
django.db.utils.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")
データベースがなかった
settings.pyの設定にしたがってデータベースを作成する
CREATE DATABASE mydb;
モジュールが足りない(2019/01/29追記)
ModuleNotFoundError: No module named 'requests'
pip install requests
ModuleNotFoundError: No module named 'bs4'
pip install bs4
データが作成できなかった
以下のようなエラーになった
OperationalError - 1366: "Incorrect string value ... "
以下を実行する
DROP DATABASE mydb;
CREATE DATABASE mydb CHARACTER SET utf8;
migrateする
python manage.py migrate
http://motomichi-works.hatenablog.com/entry/2015/01/03/015337
アクセスするIPアドレスとポートがわからない
以下を参考にしたが、結局わからなかった
最終的にいろいろ試しまくったら
192.168.33.10:9080
で落ち着いた
その他
2019/01/27追記
pyenv installコマンドが使えなくなっていた。
以下のコマンドで解決
cd ~/.anyenv/envs/pyenv/plugins/python-build/
sudo ./install.sh
2019/01/29追記
sudo pip install requests
するとsudo: pip: command not found
sudoはいらない
pip install requests
参考にした