[Python] pyenv 구성 하기 on Mac

ITWeb/개발일반 2020. 10. 22. 11:51

python 으로 개발 시 버전별로 다르게 해야 하는 경우가 많이 발생 합니다.

예전에는 virtualenv 를 사용 했었는데 pyenv 라는 좋은 툴이 있으니 이걸 그냥 사용하는게 좋겠죠.

 

# 설치하기

$ brew install pyenv
$ brew upgrade pyenv

# bash 환경

$ vi ~/.bash_profile
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"


eval "$(pyenv init -)"


$ source ~/.bash_profile

# zsh 환경
$ vi .zprofile or .zshrc
PYENV_ROOT="$HOME/.pyenv"
PATH="$PYENV_ROOT/bin:${PATH}"

export PYENV_ROOT
export PATH

eval "$(pyenv init -)"

 

$ source ~/.zprofile

$ pyenv install --list
$ brew install zlib
$ pyenv install 3.8.6
$ pyenv versions

# pyenv commands
https://github.com/pyenv/pyenv/blob/master/COMMANDS.md#pyenv-commands

# 버전 변경 쉘
$ pyenv shell 3.8.6
$ python3.8.6 --version

or

$ python --version

# shell 변경
$ python --version
Python 3.8.1


$ pyenv shell 3.8.6
$ python --version
Python 3.8.6


$ pyenv shell --unset
$ python --version
Python 3.8.1

# virtualenv 설치
$ brew install pyenv-virtualenv

# bash 환경
$ vi ~/.bash_profile

eval "$(pyenv virtualenv-init -)"

 

$ source ~/.bash_profile

# zsh 환경
$ vi .zprofile or .zshrc

eval "$(pyenv virtualenv-init -)"

 

$ source ~/.zprofile

# virtualenv 생성
$ pyenv virtualenv 3.8.6 helloworld
$ pyenv activate helloworld
(helloworld) $
$ pyenv deactivate helloworld

# virtualenv 삭제
$ pyenv virtualenvs
$ pyenv uninstall helloworld

 

Trackbacks 0 : Comments 0

Write a comment


[Similarity] Universal Sentence Encoder/4 - 링크.

ITWeb/검색일반 2020. 10. 20. 17:32

https://tfhub.dev/google/universal-sentence-encoder/4

https://www.elastic.co/blog/text-similarity-search-with-vectors-in-elasticsearch

 

Elasticsearch 내 dense_vector type 을 이용한 Similarity 검색을 하기 위해 필요한 거라 링크 걸어 둡니다.

Trackbacks 0 : Comments 0

Write a comment


[Spring] WebSocket 관련 링크

ITWeb/개발일반 2020. 10. 13. 12:08
https://spring.io/guides/gs/messaging-stomp-websocket/

https://stomp.github.io/stomp-specification-1.2.html

https://github.com/sockjs/sockjs-client

WebSocket 관련 개발 참고 문서 입니다.

tags : Spring, WebSocket
Trackbacks 0 : Comments 0

Write a comment


[Elasticsearch] 멀티노드 논리적 실행.

Elastic/Elasticsearch 2020. 9. 23. 16:53

elasticsearch-version.tar.gz 을 받아서 압축 해제 한 후에 단일 인스턴스에서 여러개의 노드를 실행 시켜 클러스터 구성을 하기 위한 방법 입니다.

 

Case 1)

$ ES_PATH_CONF=config bin/elasticsearch -Epath.data=data1 -Epath.logs=logs1 -d -p 1.pid

$ ES_PATH_CONF=config bin/elasticsearch -Epath.data=data2 -Epath.logs=logs2 -d -p 2.pid

$ ES_PATH_CONF=config bin/elasticsearch -Epath.data=data3 -Epath.logs=logs3 -d -p 3.pid

 

Case 2)

$ ES_PATH_CONF=config1 bin/elasticsearch -Epath.data=data1 -Epath.logs=logs1 -d -p 1.pid

$ ES_PATH_CONF=config2 bin/elasticsearch -Epath.data=data2 -Epath.logs=logs2 -d -p 2.pid

$ ES_PATH_CONF=config3 bin/elasticsearch -Epath.data=data3 -Epath.logs=logs3 -d -p 3.pid

 

별다른건 하나도 없으며, 활용하는 방법에 대한 차이 정도로 보면 될 것 같습니다.

Trackbacks 0 : Comments 0

Write a comment


[Kibana+Docker] Docker Compose 내 elasticsearch.hosts 설정

Elastic/Kibana 2020. 9. 10. 16:56

기본적으로 config/kibana.yml 에서는 array 로 설정을 하게 되어 있습니다.

Kibana : Multi-Elasticsearch 로 등록이 가능 하다는 것인데요.

 

Kibana 를 Docker 로 구성 할 경우 일반적인 yaml 문법의 array 등록 방식으로 작성을 하게 되면 에러가 발생을 합니다.

그래서 아래와 같이 작성을 하셔야 합니다.

 

[Code Example]

version: "3.7"
services:
  dockerr-kibana:
    image: docker.elastic.co/kibana/kibana:7.9.1
    container_name: docker-kibana
    environment:
      ELASTICSEARCH_HOSTS: '["http://host.docker.internal:9200","http://host.docker.internal:9201","http://host.docker.internal:9202"]'
    ports:
      - 5601:5601
    expose:
      - 5601
    restart: always
    network_mode: bridge

 

[Error Code]

version: "3.7"
services:
  dockerr-kibana:
    image: docker.elastic.co/kibana/kibana:7.9.1
    container_name: docker-kibana
    environment:
      ELASTICSEARCH_HOSTS: 
        - "http://host.docker.internal:9200"
        - "http://host.docker.internal:9201"
        - "http://host.docker.internal:9202"
    ports:
      - 5601:5601
    expose:
      - 5601
    restart: always
    network_mode: bridge

[Error Message]

$ docker-compose up
ERROR: The Compose file './docker-compose.yml' is invalid because:
services.dockerr-kibana.environment.ELASTICSEARCH_HOSTS contains ["http://host.docker.internal:9200", "http://host.docker.internal:9201", "http://host.docker.internal:9202"], 
which is an invalid type, it should be a string, number, or a null

 

Trackbacks 0 : Comments 0

Write a comment