Python Chainer를 시작할 때의 문제 해결
4555 단어 파이썬ChainerDeepLearning
pip install chainer
의 명령만으로 간단하게 시작할 수 있을 것입니다만,처음에 주저했기 때문에 그 원인을 소개합니다.
문제점
/System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6 /Users/ユーザー名/PycharmProjects/Chainer/test.py
Traceback (most recent call last):
File "/Users/ユーザー名/PycharmProjects/Chainer/test.py", line 2, in <module>
import chainer
ImportError: No module named chainer
Process finished with exit code 1
test.py
import numpy as np
import chainer
x1 = chainer.Variable(np.array([1]).astype(np.float32))
x2 = chainer.Variable(np.array([2]).astype(np.float32))
x3 = chainer.Variable(np.array([3]).astype(np.float32))
z = (x1 - 2 * x2 - 1)**2 + (x2 * x3 - 1)**2 + 1
print(z)
파이썬 버전 3.6.3
pip install chainer
완료원인 첫 번째
파이썬을 참조하는 PATH가 잘못되었습니다.
>>> pyenv versions
system
* 3.6.3 (set by /user/local/...)
>>> python -V
Python 2.7.5
pyenv도 기본 Python2.x 시스템이 아니라 3.6.3을 지정하지만,
괄호 안의 참조 경로에 문제가있었습니다. (잘못되었을 무렵의 path를 잊어버렸습니다만,
.pyenv
를 참조하고 있지 않으면 문제입니다.)해결책
>>> vim .zshrc
下記3行を追加
export PYENV_ROOT=“$HOME/.pyenv”
export PATH=“$PYENV_ROOT/bin:$PATH”
eval “$(pyenv init -)”
내 환경의 shell이 zesh이므로
.zshrc
를 편집합니다.$HOME
path 바로 아래에 .pyenv
를 지정하십시오.파이썬 버전은 .pyenv에서 관리하기 때문입니다.
>>> pyenv versions
system
* 3.6.3 (set by /Users/ユーザー名/.pyenv/version)
>>> python -V
Python 3.6.3
올바르게 .pyenv 아래의 path를 참조하고 있어 이것으로 문제없이 실행할 수 있다.
그러나 위의 오류 코드가 사라지지 않습니다 ...
원인 두 번째
문제의 첫 번째 줄
/System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6
여기의 path가 틀렸다. 즉 자신의 지금 사용하고있는 통합 개발 환경 PyCharm 참조하는 파이썬 path가 잘못되었습니다.
해결책
PyCharm > Preferences(⌘,) > Project Interpreter
참조하고 있는 path를
.pyenv
아래의 python에 지정해 준다.이제 위의 오류가 사라지고 문제없이 실행할 수있었습니다! !
요약
이번 문제를 거쳐 Python 설치 자체는 간단하지만,
PATH의 지정 등 어디에 설치하고 있는지, pyenv의 역할 등을 이해하지 않고 진행해 버리면 문제에 빠져 버리기 때문에,
프로그래밍 초보자에게는 조금 어려운 것일까라고 느꼈습니다.
Reference
이 문제에 관하여(Python Chainer를 시작할 때의 문제 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/saenuruki/items/41784f36cfd3bbefb38e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)