본문 바로가기

개발하자

pipenv에는 python 3.7이 필요하지만 설치된 버전은 3.8이며 설치되지 않습니다.

반응형

pipenv에는 python 3.7이 필요하지만 설치된 버전은 3.8이며 설치되지 않습니다.

나는 Python에 대해 조금 알고 있고 1년 이상 전에 종속성을 관리하는 데 사용하는 작은 스크립트를 작성했다.

이전 플랫폼은 윈도우 7이었고, 현재 플랫폼은 윈도우 10이다.

그 당시 나는 아마도 Python 3.7을 설치했을 것이고, 지금은 3.8.3을 가지고 있지만 다음을 실행하고 있다:

pipenv install

불만 사항:

Warning: Python 3.7 was not found on your system…
Neither 'pyenv' nor 'asdf' could be found to install Python.
You can specify specific versions of Python with:
$ pipenv --python path\to\python

이것은 Pipfile입니다.

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
python-ldap = {path = "./dependencies/python_ldap-3.1.0-cp37-cp37m-win_amd64.whl"}
requests = "~=2.0"
mysqlclient = "~=1.0"

[dev-packages]

[requires]
python_version = "3.7"

마지막 줄을 수동으로 편집해서 3.8을 허용했는데 어떻게 하면 제대로 고칠 수 있을까요? 저는 3.7이 최소한의 요구 사항이어야 한다고 생각합니다. 음, 스크립트가 너무 간단해서 3.0도 작동해야 한다고 생각합니다.




공식 사이트에서 Python 3.7을 다운로드 할 수 있습니다.




[requires]
python_version = "3.7"

오류:

Warning: Python 3.7 was not found on your system…

pipenv가 설치되어 있지만 구성 파일을 읽을 때 pipenv가 python 3.7로 환경을 만들어야 한다는 힌트입니다. 따라서 논리적으로 3.7 업데이트를 설치하여 설치한 python을 사용해야 합니까?




간단한 해결책은 이러한 문제를 방지하고 완전히 시스템에 신뢰할 수 있는 파이썬 버전으로 만들 수 있다는 것이다. 이를 위해 필요에서 python_version = "3.7" 줄을 제거하기만 하면 됩니다.

[[source]]
url = "https://pypi.org/simple"
verify_ssl = false
name = "pypi"

[packages]

[dev-packages]

[requires]
python_version = "3.7"

그래서 파이썬 버전을 제거한 후 당신의 pip 파일은 다음과 같을 것이다.

[[source]]
url = "https://pypi.org/simple"
verify_ssl = false
name = "pypi"

[packages]

[dev-packages]

[requires]
python_version = "*"



설치했습니다.

에 명시된 바와 같이 요구됩니다.

그래서, 나는 값을 바꾼다.

[requires]
python_version = "3.6"

로.

[requires]
python_version = "*"

모든 버전에서 작업할 수 있습니다.




pyenv(Python 버전을 관리할 수 있도록)를 설치하는 것을 권장합니다.

pyenv의 저장소는 다음과 같다:

Pipfile이 시스템에 없는 Python 버전을 필요로 할 때 pyenv를 설치하면 pyenv와 함께 설치할지 묻습니다. 이렇게 하면 프로젝트가 어떤 버전을 사용하는지에 대해 걱정할 필요 없이 다른 파이썬 버전의 프로젝트에서 작업할 수 있습니다. pyenv를 사용하면 글로벌 셸에서 파이썬 버전을 쉽게 변경할 수 있습니다.

당신의 질문에 실제로 현실화되지 않은 또 다른 제안은, 당신이 pipenv를 대체할 시를 살펴봐야 한다는 것이다(비동기식으로 종속성을 설치하기 때문에 더 빠르다), 시를 위한 웹사이트는 다음과 같다:

그러나 여전히, 당신은 당신의 문제를 해결하기 위해 pyenv와 같은 것이 필요하거나 다른 파이썬 버전을 수동으로 설치할 것이다.

만약 당신이 단지 Pipfile이 당신이 파이썬의 새로운 버전을 사용할 수 있도록 하고 싶다면, 나는 당신이 다음과 같이 변경할 수 있다고 생각한다:

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
python-ldap = {path = "./dependencies/python_ldap-3.1.0-cp37-cp37m-win_amd64.whl"}
requests = "~=2.0"
mysqlclient = "~=1.0"

[dev-packages]

[requires]
python_version = "^3.7"

구문이 ^3.7인지 >=3.7인지 잘 모르겠지만 이 두 가지 중 하나여야 합니다.




명령어가 Python 2.x이지만 Python 3.x를 실행하는 명령어가 있는 경우에는 옵션을 사용하여 명령어를 사용해야 할 수도 있습니다.

$ pipenv install
Warning: Python >= 3.5 was not found on your system...
Neither 'pyenv' nor 'asdf' could be found to install Python.
You can specify specific versions of Python with:
$ pipenv --python path/to/python

$ pipenv --python `which python3` install
Creating a virtualenv for this project...



관련 버전 설치

파이썬 버전을 확인하는 방법

cmd any 디렉토리>파이썬 -v

나의 경우 그들은 Python 3.8.2가 필요하지만 나는 Python 3.8.0 버전이 설치되어 있다. 이것 때문에 나는 이 오류를 극복할 수 없었다.

정확한 버전을 설치하면 명령을 실행할 수 있습니다.




나도 비슷한 문제가 있었는데 pip 파일을 삭제해서 해결했어. pipfile 경로는 터미널에서 pipenv install 명령을 입력하는 경로입니다.




이전 프로젝트를 새 랩톱으로 옮길 때도 같은 문제가 발생합니다.

Warning: Python 3.7 was not found on your system...
Neither 'pyenv' nor 'asdf' could be found to install Python.
You can specify specific versions of Python with:
$ pipenv --python path/to/python

문제를 해결하는 나의 방법은 단순히 오래된 것을 삭제하고 단말기에 입력하는 것이다. 그러면 그것은 새로운 것을 만들고 당신의 것과 일치할 것이다.


반응형