#Homebrew Python Vi
Explore tagged Tumblr posts
mite-rva · 1 year ago
Text
Nginx
참고: https://smali-kazmi.medium.com/setup-nginx-node-js-on-mac-os-x-b31eda9f7d5d
how to read (pronounce): 엔진 엑스
Nginx currently supports 7 scripting languages: Go, Node.js, Perl, PHP, Python, Ruby, and Java Servlet Containers
(the last is an experimental module)
It enables you to run applications written in different languages on the same server.
how to install: https://dev.to/logrocket/how-to-run-a-node-js-server-with-nginx-588
how to install by M2: 1. homebrew install with terminal commands
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2. PATH for homebrew: (2-lines)
(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/nika/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
3. run:
To start nginx now and restart at login:
  brew services start nginx
Or, if you don't want/need a background service you can just run:
  /opt/homebrew/opt/nginx/bin/nginx -g daemon\ off\;
[like this] nginx, "http://localhost:8080/"
Tumblr media
4. stop
nginx -s stop
5. 에러 확인:
 nginx -t
nginx: the configuration file /opt/homebrew/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /opt/homebrew/etc/nginx/nginx.conf test is successful
6. 리로드:
nginx -s reload
sudo nano /opt/homebrew/etc/nginx/nginx.conf (after password)
디폴트 구성 바꾸기, (nano: vim, emacs 같은 에디터로 수정하게끔 슈퍼유저 설정 권한을 준다)
나노 명령어:
^G : 도움말 보기
^X : 끝내기
^O : 파일 저장(저장할 파일명 입력, 디폴트는 최초 파일명)
^R : 파일 읽기(현재 파일에 새로운 파일 추가)
^W : 텍스트 검색
^\ : 검색 후 바꾸기
^K : 선택한 문자열 잘라내기
^U : 잘라낸 문자열 붙이기
^J : 양쪽 정렬(한줄로 표시)
^T : 맞춤법 체크
^C : 현재 커서 위치
^- : 입력한 행번호, 열번호로 이동
^A : 현재 행의 처음으로 이동
^E : 현재 행의 마지막으로 이동
Mac 폴더 생성 명령어: mkdir servers
mkdir -p /var/www/sena.com
Mac 파일 생성 명령어: touch ~/servers/examplePage/example.com (~ kite까지 포함)
touch ~/servers/examplePage/app.js
nano 안 쓰고 에러 해결법:
sudo vi 만드려는 파일명 or 저장 할 때 
:w !sudo tee % > /dev/null
Tumblr media
the page eXample:
make folder and "example.com" file
make app.js (javaScript file)
edit /etc/hosts (add 127.0.0.1 example.com)
새 포트 추가하는 법:
Tumblr media
이걸 하고 싶으면 이러면 된다: sudo nano /opt/homebrew/etc/nginx/nginx.conf
링크
0 notes
telcode2 · 3 years ago
Photo
Tumblr media
Apple - Homebrew Vim with Python support depends on Python 3.7.0, and I have to use 3.6.5
https://telcode.net/p24/apple-homebrew-vim-with-python-support-depends-on-python-370-and-i-have-to-use-365
0 notes
saggiosguardo · 3 years ago
Text
macOS Monterey 12.2 è l'ultima versione con Python 2
macOS Monterey 12.2 è l’ultima versione con Python 2
Con Monterey Apple ha deciso di rimuovere la versione standard di PHP integrata nel sistema, così vi ho spiegato come installarla attraverso Homebrew. Oggi ho eseguito l’upgrade alla Beta 12.3 per testare la nuova funzione Universal Control ed ho notato che alcuni script di Alfred (recensione) non funzionavano più a causa di un’ennesima rimozione, quella di Python. Nel 2019 Apple aveva informato…
Tumblr media
View On WordPress
0 notes
pignose-barn · 8 years ago
Text
MAC의 터미널 테마적용을 위한 zsh 그리고 oh my zsh
MAC 유저 혹은 리눅스 유저는 당연하게도 커멘드라인을 작성해야 할 경우가 많고 이를 위해 bash를 사용할 것이라 예상한다.
MAC에서 테마를 설정하기 위한 일반적인 방법으로는 보통 .bashrc 혹은 .bash_profile을 사용한다 (링크 참고), 하지만 이 방법을 통해 변경 할 수 있는 테마는 배경색상과 텍스트색상등으로 한정되어 제공된다.
다만 여러분이나 필자 같은 경우 아래와 같은 테마를 생각하고 있을 것이라 생각된다.
Tumblr media
여기서 다루는 zsh가 제공하는 기능중에 유용할 것이라 예상되는 기능은 아래와 같다.
현재 바라보고 있는 패스 안내 (CWD)
python user를 위한 virtualenv 안내
ruby user를 위한 RVM 안내
node.js user를 위한 NVM 안내
git 사용자를 위한 현 브랜치 상태 및 스테이징 커밋 여부 안내
사실 위에 기능을 전혀 사용하지 않더라도 전체적인 UI가 기존 제공되는 UI 보다 좋기 때문에 zsh 설치작업이 의미가 있다고 생각되며, zsh 자체의 편의 기능도 상당하다.
zsh 장점에 대해서도 적어드리고 싶었는데 이번 장은 zsh 실전 활용에 대해서만 소개드리기 떄문에 이 링크로 대체한다.
그럼 본격적으로 zsh 설치에 들어가보도록 하자!
zsh 설치는 MAC에서 Homebrew를 통해 간단히 설치가 가능하다.
https://gist.github.com/KennethanCeyer/da0f143df2a72b72918818aef8749c13
zsh 설치가 완료되었다면, 우선 기본 쉘 설정을 바꿔주도록 하자.
which 커멘드를 통해 zsh의 위치를 확인한 후 chsh를 통해 변경 할 수 있다.
이때, sudo로 실행하지 않도록 한다.
https://gist.github.com/KennethanCeyer/07074280282f620906a25314a91dee83
위와 같이 설정을 완료했으면, 터미널을 껐다 켜보자.
아마 zsh로 정상적으로 적용이 되었다면, 쉘의 표기방식이 변경 된 것을 느낄 것이다.
이번에는 다양한 테마를 사용하기 위해 oh my zsh를 적용해보도록 하자.
진행하기 앞서 oh my zsh에 대해 간단하게 설명을 드리자면,
900명 이상의 컨트리뷰터와 활발한 커뮤니티를 가지고있는
zsh 테마 및 플러그인 지원을 도와주는 설정 담당 프레임워크다.
우리는 이번 시간에 oh my zsh를 통해 테마를 추가 할 것이다.
oh my zsh에서 지원하고 있는 테마 목록은 여기서 확인 할 수 있다.
먼저 oh my zsh에서 공식적으로 안내하는 설치방법을 따라가자.
wget과 curl 두가지 방식을 제공하고 있는데 여기서는 curl을 이용한 설치를 진행한다.
https://gist.github.com/KennethanCeyer/2e38cea69d76c9b0052bc282a0156f40
oh my zsh 설치를 마쳤다면 ~/.zshrc에서 설정을 진행한다.
vi 커멘드를 통해 편집을 진행 할 것인데 vi 사용법을 모른다면 이참에 공부해보자.
아마 필자의 생각엔 이 링크에서 안내하는 정도만 배워도 설정이 가능하다.
https://gist.github.com/KennethanCeyer/b98981e65aabd509ce25a9cfa8333149
정말 vi나 vim을 싫어하면 open 커멘드를 통해 우리의 친구 메모장을 열어서 편집하도록 한다.
https://gist.github.com/KennethanCeyer/3f6e685ba6f6f3cf69ffe829352c8f2b
여기서는 기본 테마인 robbyrussell을 적용했다.
ZSH_THEME 항목을 찾아 원하는 테마를 입력해준다.
https://gist.github.com/KennethanCeyer/601df6ea7d3f4556284b0cef03ac07de
다시한번 터미널 창을 껐다 키면 아래와 같은 놀라운 터미널 창을 볼 수 있다.
Tumblr media
일부 MAC에서는 위와 같이 테마가 적용되지 않고 흰 배경에 텍스트에만 배경색이 들어가는 경우가 존재하는 것으로 알고있다.
터미널 화면에서 Command + , 키를 누르면 설정 창이 열리는데,
이럴 경우 “프로파일” 탭에서 배경 색을 조정해주어야 한다.
Tumblr media
1 note · View note
awsexchage · 7 years ago
Photo
Tumblr media
Google Cloud Machine Learning EngineでUnity ML-Agentsを動かす https://ift.tt/2MAubPt
概要
Unity ML-Agents(以下 ML-Agents)をクラウド上で動作させるのに適切な環境を探しています。 そのなかで、Google Cloud Machine Learning Engine(以下 Cloud ML)上で動作するものなのか、検証してみました。
ML-AgentsはTensorflowを利用した強化学習ができるライブラリです。 なので、Tensorflowなどの機械学習実行エンジンであるCloud MLで動かないわけがない。(はず)
Google Cloud Machine Learning Engineとは
Google Cloud Machine Learning Engine は”エンジン”であって開発環境ではない ~制約に気を付けよう~ https://www.gixo.jp/blog/10960/
ML Engine を一言で説明するなら「機械学習を実行するためのクラウドサービス」です。そのため、DataRobotなどの他のクラウドサービスのようにサービス上で開発は行えません。
Unity ML-Agents
Unity Machine Learning Agentsベータ版 https://unity3d.com/jp/machine-learning
Unity ML-Agentsは、新世代のロボット、ゲームをはじめさまざまな分野において、迅速かつ効率的に新しいAIアルゴリズムの開発を行い、テストする柔軟な方法を提供します。
手順
前提条件
Cloud MLやUnity、ML-Agentsの環境構築が済んでいる前提です。 まだ環境がないという方は下記をご参考ください。
MacでCloud Machine Learning Engineを利用してみる https://cloudpack.media/42306
Macでhomebrewを使ってUnityをインストールする(Unity Hub、日本語化対応) https://cloudpack.media/42142
MacでUnity ML-Agentsの環境を構築する https://cloudpack.media/42164
Unityでアプリをビルドする
ML-Agentsでは実際にUnityアプリを動作させつつ強化学習がすすみます。 MacであればMac用、WindowsであればWindows用にアプリをビルドするわけですが、今回はCloud ML上で動作させる必要があるので、Linux用のビルドとなります。
アプリはML-Agentsに含まれる[3DBall]アプリを利用します。 手順は下記記事のDockerに関する手順以外をすすめてビルドします。
MacでUnity ML-AgentsをDockerで動作させる https://cloudpack.media/42285
unity-volume フォルダに以下ファイルとフォルダが用意できたと思います。
> ll ml-agents/unity-volume/ 3DBall.x86_64 3DBall_Data
Cloud ML上で実行するための準備
Cloud MLで実行するための下準備です。
変数設定
Cloud Storageのバケット名やCloud MLを利用するリージョンなどを変数に設定します。 BUCKET_NAMEとJOB_NAMEは任意で指定してください。
fish
> set -x BUCKET_NAME 任意のバケット名 > set -x REGION us-central1 > set -x JOB_NAME gcp_ml_cloud_run_01
bash
> export BUCKET_NAME=任意のバケット名 > export REGION=us-central1 > export JOB_NAME=gcp_ml_cloud_run_01
ハイパーパラメータの指定
今回は動作確認が目的となりますので、学習のステップを少なくします。 ML-Agentsライブラリにtrainer_config.yamlというハイパーパラメータを指定するYAMLがあるので、そちらでmax_stepsの指定をして5,000ステップ実行して終了するようにします。
> cd 任意のディレクトリ/ml-agents > vi python/trainer_config.yaml Ball3DBrain: normalize: true batch_size: 64 buffer_size: 12000 summary_freq: 1000 time_horizon: 1000 lambd: 0.99 gamma: 0.995 beta: 0.001 + max_steps: 5000
アプリとハイパーパラメータファイルのアップロード
Cloud MLでは学習に利用するファイルなどをCloud Storageに置いて利用することになります。 今回はUnityアプリのファイル・フォルダとハイパーパラメータ設定ファイルをCloud Storageにコピーしておきます。 また、Linux用ビルドはDataフォルダがないとアプリが起動しません。 フォルダのままだと取り回しが面倒なので、ZIPファイルに圧縮しておきます。
> cd 任意のディレクトリ/ml-agents # Dataフォルダの圧縮 > zip -r 3DBall_Data.zip unity-volume/3DBall_Data/ # Cloud Storageのバケットにコピー # Unityアプリファイル > gsutil cp unity-volume/3DBall.x86_64 gs://$BUCKET_NAME/data/3DBall.x86_64 > gsutil cp unity-volume/3DBall_Data.zip gs://$BUCKET_NAME/data/3DBall_Data.zip # ハイパーパラメータ設定ファイル > gsutil cp python/trainer_config.yaml gs://$BUCKET_NAME/data/trainer_config.yaml
学習実行ファイルの準備
ML-Agentsに含まれているpython/learn.pyが学習を開始するためのファイルになりますが、これをCloud MLで動作できるように以下の準備をします。
Pythonのパッケージ化
Cloud Storage連携実装追加
Pythonのパッケージ化
Cloud MLにPythonでパッケージ化されたファイルをアップして実行するので、その準備をします。
# Pythonフォルダのsetup.pyがCloud MLで動作するようにファイルを追加 > touch python/MANIFEST.in > vi python/MANIFEST.in +include requirements.txt # learn.py実行用のパッケージ作成 > mkdir python/tasks > touch python/tasks/__init__.py > cp python/learn.py python/tasks/learn.py
learn.pyのカスタマイズ
learn.pyにCloud Storageからファイルを取得、学習結果をCloud Storageへ保存する実装を追加します。 今回、ファイル名を固定していますが、とりあえず動作検証のためなので、あしからず。 Cloud Storageからのファイル取得・アップにgsutilコマンドを利用していますが、ここはPythonで実装してもOKです。 手抜きできるところは徹底的に^^
> vi python/tasks/learn.py
python/tasks/learn.py
# import追加 import shlex import subprocess import zipfile # import追加ここまで (略) # General parameters (略) fast_simulation = not bool(options['--slow']) no_graphics = options['--no-graphics'] # ここから追加 # Stackdriver Loggingでログ確認できるようにする logging.basicConfig(level=logging.INFO) # Cloud Storageのパス指定 trainer_config_file = 'gs://任意のバケット名/data/trainer_config.yaml' app_file = 'gs://任意のバケット名/data/3DBall.x86_64' app_data_file = 'gs://任意のバケット名/data/3DBall_Data.zip' # 実行環境のに保存する際のパスを指定 file_name = env_path.strip().replace('.x86_64', '') cwd = os.getcwd() + '/' app_data_local_dir = os.path.join(cwd, file_name + '_Data') app_local_file = os.path.join(cwd, file_name + '.x86_64') app_data_local_file = app_data_local_dir + '.zip' # Cloud Storageからコピー、Cloud ML環境だとgsutilが利用できて楽 logger.info(subprocess.call(['gsutil', 'cp', trainer_config_file, cwd])) logger.info(subprocess.call(['gsutil', 'cp', app_file, cwd])) logger.info(subprocess.call(['gsutil', 'cp', app_data_file, cwd])) # Unityアプリ動作用にDataファイルを展開する with zipfile.ZipFile(app_data_local_file) as existing_zip: existing_zip.extractall(cwd) # Unityアプリが実行できるように権限を付与する logger.info(subprocess.call(shlex.split('chmod u+x ' + app_local_file))) # ここまで追加 (略) tc.start_learning() # ここから追加 # モデルファイルをCloud Storageへアップ # TODO: 圧縮する models_local_path = './models/{run_id}'.format(run_id=run_id) models_storage_path = 'gs://任意のバケット名/{run_id}/models'.format(run_id=run_id) logger.info(subprocess.call(['gsutil', 'cp', '-r', models_local_path, models_storage_path])) # ここまで追加
パッケージ作成 Cloud MLの操作に利用するgcloudコマンドにはパッケージを自動作成する機能もありますが、ここでは手動でパッケージングします。
> cd python > python setup.py sdist (略) Writing unityagents-0.4.0/setup.cfg Creating tar archive removing 'unityagents-0.4.0' (and everything under it) > ll dist total 96 -rw-r--r-- 1 user users 45K 8 6 11:14 unityagents-0.4.0.tar.gz
Cloud MLで実行してみる
さて、下準備が完了しましたので、Cloud MLへジョブ登録して学習を実行してみましょう。
パラメータ指定に--がありますが、これ以降のパラメータが--module-nameで指定したlearn.pyにパラメータとして渡されるので、取ってはいけません。(1敗)
> cd 任意のディレクトリ/ml-agents > gcloud ml-engine jobs submit training $JOB_NAME \ --python-version=3.5 \ --runtime-version 1.8 \ --module-name tasks.learn \ --packages python/dist/unityagents-0.4.0.tar.gz \ --region $REGION \ --staging-bucket gs://$BUCKET_NAME \ -- \ 3DBall \ --run-id $JOB_NAME \ --train Job [gcp_ml_cloud_run_01] submitted successfully. Your job is still active. You may view the status of your job with the command $ gcloud ml-engine jobs describe gcp_ml_cloud_run_01 or continue streaming the logs with the command $ gcloud ml-engine jobs stream-logs gcp_ml_cloud_run_01 jobId: gcp_ml_cloud_run_01 state: QUEUED Updates are available for some Cloud SDK components. To install them, please run: $ gcloud components update
はい。
ジョブが登録されたか確認しましょう。
> gcloud ml-engine jobs describe $JOB_NAME createTime: '2018-08-06T02:20:53Z' etag: sm-_r3BqJBo= jobId: gcp_ml_cloud_run_01 startTime: '2018-08-06T02:21:24Z' state: RUNNING trainingInput: args: - 3DBall - --run-id - gcp_ml_cloud_run_01 - --train packageUris: - gs://任意のバケット名/gcp_ml_cloud_run_01/xxxx/unityagents-0.4.0.tar.gz pythonModule: tasks.learn pythonVersion: '3.5' region: us-central1 runtimeVersion: '1.8' trainingOutput: consumedMLUnits: 0.01
ジョブ実行されたかログを見てみましょう。
> gcloud ml-engine jobs stream-logs $JOB_NAME (略) INFO 2018-08-06 11:22:50 +0900 master-replica-0 List of nodes to export : INFO 2018-08-06 11:22:50 +0900 master-replica-0 action INFO 2018-08-06 11:22:50 +0900 master-replica-0 value_estimate INFO 2018-08-06 11:22:50 +0900 master-replica-0 action_probs INFO 2018-08-06 11:22:51 +0900 master-replica-0 Restoring parameters from ./models/gcp_ml_cloud_run_01/model-5001.cptk INFO 2018-08-06 11:22:51 +0900 master-replica-0 Froze 16 variables. (略) INFO 2018-08-06 11:22:54 +0900 master-replica-0 Module completed; cleaning up. INFO 2018-08-06 11:22:54 +0900 master-replica-0 Clean up finished. INFO 2018-08-06 11:22:54 +0900 master-replica-0 Task completed successfully. INFO 2018-08-06 11:27:32 +0900 service Job completed successfully.
はい。
これで、ML-AgentsがCloud ML上で実行されて、modelsフォルダに結果ファイルが出力されているはずです。 learn.pyでmodelsフォルダをCloud Storageにコピーしてるので、フォルダをローカルにコピーして、Unityアプリにbytesファイルを組み込んで動作させることができます。
> gsutil ls gs://任意のバケット名/$JOB_NAME/models gs://任意のバケット名/gcp_ml_cloud_run_01/models/3DBall_gcp_ml_cloud_run_01.bytes gs://任意のバケット名/gcp_ml_cloud_run_01/models/checkpoint gs://任意のバケット名/gcp_ml_cloud_run_01/models/model-5001.cptk.data-00000-of-00001 gs://任意のバケット名/gcp_ml_cloud_run_01/models/model-5001.cptk.index gs://任意のバケット名/gcp_ml_cloud_run_01/models/model-5001.cptk.meta gs://任意のバケット名/gcp_ml_cloud_run_01/models/raw_graph_def.pb
tensorboardでも結果が確認できます。
> gsutil cp -r gs://任意のバケット名/$JOB_NAME/models ローカルの任意のフォルダ/ > tensorboard --logdir=ローカルの任意のフォルダ/models
実行できることが確認できました。やったぜ^^
あとは、learn.pyをもう少し実用的に改修したり、Cloud Pub/Subや、Cloud Functionsなどを利用すれば、Cloud StorageにUnityアプリをアップすれば、自動的に強化学習が実行される素敵環境が構築できそうです^^
参考
Google Cloud Machine Learning Engine は”エンジン”であって開発環境ではない ~制約に気を付けよう~ https://www.gixo.jp/blog/10960/
Unity Machine Learning Agentsベータ版 https://unity3d.com/jp/machine-learning
MacでCloud Machine Learning Engineを利用してみる https://cloudpack.media/42306
Macでhomebrewを使ってUnityをインストールする(Unity Hub、日本語化対応) https://cloudpack.media/42142
MacでUnity ML-Agentsの環境を構築する https://cloudpack.media/42164
MacでUnity ML-AgentsをDockerで動作させる https://cloudpack.media/422854
トレーニング アプリケーションのパッケージング https://cloud.google.com/ml-engine/docs/tensorflow/packaging-trainer?hl=ja
【mac】zipファイル操作コマンド https://qiita.com/griffin3104/items/948e38aab62bbb0d0610
Linuxの権限確認と変更(超初心者向け) https://qiita.com/shisama/items/5f4c4fa768642aad9e06
17.5.1. subprocess モジュールを使う https://docs.python.jp/3/library/subprocess.html
CloudMLからgoogle cloud storageのファイルにアクセスする https://qiita.com/mikebird28/items/543581ef04476a76d3e0
Google Cloud ML Engine 上でPythonを実行する時のコツ https://rooter.jp/ml/google-cloud-ml-engine-python-tips/
Pythonでzipファイルを圧縮・解凍するzipfile https://note.nkmk.me/python-zipfile/
gsutilコマンド全部試したので解説する(part1) https://www.apps-gcp.com/gsutil-command-explanation-part1/
元記事はこちら
「Google Cloud Machine Learning EngineでUnity ML-Agentsを動かす」
August 28, 2018 at 02:00PM
0 notes