1.머신러닝 팀 프로젝트 - poetry&pyenv 사용하기
문제점
현재 프로젝트 버전이 3.11인데 tensorflow를 사용하기 위해서는 다운그레이드가 필요함
시도해 본 것들
pyenv 설치하기
https://github.com/pyenv-win/pyenv-win#installation
pyenv global 3.8.10 or pyenv local 3.8.10으로 버전 다운그레이드
pyenv local 3.8.10 <= 로컬 파일에 .python-version 파일 생성
pyenv global 3.8.10
poetry init
poetry init
This command will guide you through creating your pyproject.toml config.
Package name [test]:
Version [0.1.0]:
Description []:
Author [Seman_Kim <sdoramkim@gmail.com>, n to skip]:
License []:
Compatible Python versions [^3.11]: ^3.8
직접 작성하면 수정은 되는데 아직도 기본값을 ^3.11에서 어떻게 수정하는지 모르겠다.
poetry env info
poetry env info
PS C:\Users\Administrator\Desktop\test> poetry env info
Implementation: CPython
Path: C:\Users\Administrator\Desktop\test\.venv
Executable: python
Valid: False
System
Platform: win32
OS: nt
Python: 3.11.2
Path: C:\Users\Administrator\AppData\Local\Programs\Python\Python311
Executable: C:\Users\Administrator\AppData\Local\Programs\Python\Python311\python.exe
아직 3.11.2로 잡히고 env는 연결되지 않은 상태
poetry env use 3.8.10
poetry env info
poetry env info
Virtualenv
Python: 3.8.10
Implementation: CPython
Path: C:\Users\Administrator\Desktop\test\.venv
Executable: C:\Users\Administrator\Desktop\test\.venv\Scripts\python.exe
Valid: True
System
Platform: win32
OS: nt
Python: 3.8.10
Path: C:\Users\Administrator\.pyenv\pyenv-win\versions\3.8.10
Executable: C:\Users\Administrator\.pyenv\pyenv-win\versions\3.8.10\python.exe
poerty env의 python 버전 변경 확인
poetry add tensorflow
poetry add tensorflow
For tensorflow-io-gcs-filesystem, a possible solution would be to set the `python` property to ">=3.8,<3.12"
>=3.8, <3.12로 수정을 추천
3.8이상 , 3.12미만 버전 사용하기
[tool.poetry.dependencies]
python = ">=3.8, <3.10"
3.8이상 3.10 미만으로 설정
poetry add tensorflow
RuntimeError
Unable to find installation candidates for tensorflow-io-gcs-filesystem (0.32.0)
at ~\AppData\Roaming\pypoetry\venv\Lib\site-packages\poetry\installation\chooser.py:76 in choose_for
72│
73│ links.append(link)
74│
75│ if not links:
→ 76│ raise RuntimeError(f"Unable to find installation candidates for {package}")
77│
78│ # Get the best link
79│ chosen = max(links, key=lambda link: self._sort_key(package, link))
80│
잘 진행하다가 error 발생
https://github.com/tensorflow/io/issues/1617
poetry add tensorflow-io-gcs-filesystem==0.31.0
poetry add tensorflow
해결 방법
아직 패키지 설치만 하고 이게 제대로 진행이 된건지 알지 못한다.
제대로 진행이 됐다고 해도 패키지 설정을 통일하려고 하면 상당한 시간을 소모할 것 같다.
알게 된 점
stackoverflow 말고 github의 issue도 잘 검색해서 찾아가면 도움이 되는 내용이 아주 많다.
python을 사용하면서 version에 대해 별로 생각하지 않았는데 프로젝트 시작시 제대로 버전의 범위를 설정해야 함을 깨달았다.
poetry를 사용하면서 이번 이슈가 시간이 더 걸렸지만, 이슈를 해결하고 나니 poetry가 제공하는 편의성이 어떤지 살짝 느껴진다. python의 버전을 정해두면 그 버전에 맞는 패키지의 버전이 저장되어 있어서 바로 다른 환경에서도 동일하게 사용할 수 있을 것 같다.
'개발일지 > TIL' 카테고리의 다른 글
TIL 23-05-25 머신러닝 팀 프로젝트 - git issue (0) | 2023.05.25 |
---|---|
TIL 23-05-24 머신러닝 프로젝트 - git commit --amend (0) | 2023.05.24 |
TIL 23-05-22 머신 러닝 팀 프로젝트 (0) | 2023.05.22 |
TIL 23-05-21 백준 - 소수 구하기 (에라토스테네스의 체) (0) | 2023.05.21 |
TIL 23-05-20 django - urls re_path사용하기, view 통합하기 (2) | 2023.05.20 |