pyenv備忘録 よく使うコマンド

インストールされているPythonの確認

*が付いているのが現在適用されているバージョン インストール可能なPythonの確認

Pythonのインストール

ローカルに特定のPython環境を適用 ローカルはグローバルよりも優先されます。

Python環境に名前を付けて仮想環境を作成する 同じPythonバージョンを複数環境で使いたい場合に有用 hogeという名前のPython環境を作成

DjangoとMySQLを接続する

DjangoとMySQLを接続した時の備忘録です。 MySQLの設定を確認 Django側の設定で必要な項目は、 データベース名 ユーザー名(権限を持っている) ユーザーのパスワード ホスト名 ポート番号 です。これらを実際に調べていきます。 MySQLサーバーへ入る

¥sでデータベースの情報を取得します。

ユーザー名:Admin ホスト名:loaclhost になります。 ユーザーの作成方法、権限を付与する方法などは、公式ドキュメントを参照してみてください。 【MySQL】公式マニュアル 作成したデータベース名は"DiaryApp"にしました。

Django側の設定 次は、Django側の設定です。 setting.pyに設定を足すのと、models.pyを作成します。

マイグレーション models.pyに書いた「モデル」をデータベースに反映させます。

MySQLに入って、正しくテーブルが作られているか確認してみます。

CentOS 7にMySQLをインストールする

はじめに

とやったあとの初期設定でハマったので備忘録。 初期パスワードの確認 rootでMySQLに入ろうとすると、パスワードが必要というエラーが出てしまうので、初期設定されているパスワードを確認する必要があります。

/var/log/mysqld.logに残っている、初期設定時のログからパスワードを確認します。

確認できたら、MySQLサーバーへログインし、初期設定のパスワードを変更しましょう。

変更したパスワードでMySQLに入れることを確認

パスワードの変更(追記) MySQLのパスワードポリシーにあったパスワードを設定していないと

というエラーが出るので追記。 パスワードポリシーの初期設定は以下の通り

Variable_name Value validate_password_check_user_name OFF validate_password_dictionary_file validate_password_length 8 validate_password_mixed_case_count 1 validate_password_number_count 1 validate_password_policy MEDIUM validate_password_special_char_count 1 参考:【Qiita】mysql5.7でパスワードを変更する

DevOpsプロジェクトの作成

新規DevOpsプロジェクトの作成 Azure DevOpsプロジェクトの作成自体は簡単なのですが、権限周りで少し詰まったので、記録を残しておきます。 既にリソースグループが作成されているものとする 権限の設定 DevOps自体は、Azure Portal上にあるリソースグループの外側にあるため、権限の設定などは個別にする必要があります。 ユーザーごとの権限の設定 ユーザーごとの権限の設定は、サブスクリプションの所有者からしかできないため、この設定を最初に行います。 赤線部のOrganization Settingsから権限の設定画面へと移ります。 Usersのタブから、ユーザーごとに権限を設定することができます。 Access Levelについての公式ドキュメントはこちら リソースグループとDevOpsプロジェクトの接続 プロジェクト全体の設定は以下の赤線のタブから設定画面に移ることができます。 Azure PipelinesはAzure Repositoryのソースコードを直接WebAppsなどにデプロイする機能なのですが、そのままでは、DevOpsが単体で存在しているだけなので、最初にService Connectionsを追加します。 New Service Connectionボタンをクリックすると、以下のような画面が表示されます。 今回、必要なリソースは全て同じリソースグループにまとまっているため、「Azure Resource Manager」を選択します。 お勧めされているのでautomaticを選択 DevOpsを作成したアカウントが持っているサブスクリプション、権限を持っているリソースグループがドロップダウンに表示されます。 Saveすると、リソースグループへのService Connectionが新しく作成されます。

Djangoでmigrationのやり直しが上手くいかない

Djangoのmigrationをやり直したくなったけれど、色々試したら、

で psycopg2.errors.UndefinedColumn: column "<field名>" does not existといったエラーが出て、後戻りできなくなったりする。 僕みたいによく分かってない人は、一度全部消してからやり直したほうが絶対早い。 djangoでmigrateができない 下のコマンドは、同じSchemaのテーブルを全削除するコマンド。

これを実行してからマイグレーションすれば確実。

you cannot alter to or from M2M fields, or add or remove through= on M2M fields

で、

のエラーで苦しめられたので備忘録。 "Django migration error :you cannot alter to or from M2M fields, or add or remove through= on M2M fields"(stack overflow) 要は、DBを作る時に、古いテーブルが邪魔をしてmigrationできないよ! と言うことらしい。 上記リンクに飛ぶと、initial.pyでFieldを消す処理を加えると言う対応を紹介していたが、 面倒だったので、テーブルをいったん消去して、もう一度migrationをかけて解決した。

Djangoで新規にモデルを作成したのにmigration時に「No changes detected」となった時の対処法

Djangoプロジェクトを作成し、新しくモデルを作成して、migrationを書けた時に、「No changes detected」と表示されてしまう。 モデルを変えたのになぜ???と思ってググルと

とmigrationするときに、プロジェクト名を指定しないといけないらしい。 python manage.py makemigrationsだけでも、上手くいっている人も、いるため、謎は深まるが、変更が反映されないときは、プロジェクト名を指定してあげると確実

‘npm run serve’ができない〜nodeのバージョン管理〜

普段、何も考えずに〇〇 updateと打ち込んでしまっているため、その戒めとしての備忘録 ちゃんとバージョン管理ソフトは使いましょう。。。 今回ハマったエラーはこちら

vue create → npm run serveなので特にエラーを起こすような操作はしていません。 「babel」, 「webpack」と言った文字列が見えたのでおそらくnodeのバージョンの問題だろうと思って確認してみると、

いや、もうほんとLTSとかちゃんと見とかないとダメですね 笑 何も考えずにパッケージのアップデートをしたのは誰なんでしょうか 笑 nパッケージを導入 これまで素のnodeを使っていたため、パッケージ管理ソフトを入れることにしました。 nodeのバージョン管理にはnパッケージと言うものがあるらしいのでこれをインストール

n現在の安定版を確認してみると、v12だったため

として、nodeを安定版に変更すると、無事にnpm run serveを通すことができました。 めんどくさいけど、バージョン管理はするようにしよう。