web-dev-qa-db-ja.com

pipenvを使用してvirtualenvを作成するときにpython versionを設定

Debian 4.14.34-v7 +を使用するRaspberry Piを使用して、PythonのデフォルトバージョンとしてPython 3.6.5を使用してpipenvをセットアップしようとしています。最初にPython 3.6 Piでコンパイルして(時間...)「ロボット」ディレクトリを作成した後、「$ Sudo pip3 install pipenv」および「$ pipenv install --three」でpipenvをインストールします。

次に、シェルを起動してPythonを開き、Python 3.5.3:

pi@raspberrypi:~/robot $ pipenv Shell
Spawning environment Shell (/bin/bash). Use 'exit' to leave.
. /home/pi/.local/share/virtualenvs/robot-XZ3Md9g0/bin/activate
pi@raspberrypi:~/robot $ . /home/pi/.local/share/virtualenvs/robot-XZ3Md9g0/bin/activate
(robot-XZ3Md9g0) pi@raspberrypi:~/robot $ python
Python 3.5.3 (default, Jan 19 2017, 14:11:04) 
[GCC 6.3.0 20170124] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

次に、「$ pipenv --python 3.6」でvirtualenvを変更しますが、正しく(見かけ上)インストールした後、pipenvはまだPython 3.5 ...:

(robot-XZ3Md9g0) pi@raspberrypi:~/robot $ pipenv --python 3.6
Virtualenv already exists!
Remove existing virtualenv? [Y/n]: y
Removing existing virtualenv…
Creating a virtualenv for this project…
Using /usr/local/bin/python3.6m (3.6.5) to create virtualenv…
⠋Running virtualenv with interpreter /usr/local/bin/python3.6m
Using base prefix '/usr/local'
New python executable in /home/pi/.local/share/virtualenvs/robot-XZ3Md9g0/bin/python3.6m
Also creating executable in /home/pi/.local/share/virtualenvs/robot-XZ3Md9g0/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /home/pi/.local/share/virtualenvs/robot-XZ3Md9g0
Warning: Your Pipfile requires python_version 3.5, but you are using 3.6.5 (/home/pi/.local/share/v/r/bin/python).
  $ pipenv check will surely fail.
(robot-XZ3Md9g0) pi@raspberrypi:~/robot $ python
Python 3.6.5 (default, May  3 2018, 11:25:17) 
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

SO-質問-最初にvirtualenvを作成するときにPython 3.6を探すようにpipenvを設定するにはどうすればよいですか?手動でPipfileにアクセスして編集できますが、それは目的に反しているようですpipenvが私の面倒を見てくれます。

7
James Taylor

「Pipfileの編集」は、既存の環境のPythonバージョンを変更する場合に適切な方法です。

Python 3.6を使用してnew環境を作成する場合、次を実行できます。

pipenv install --python 3.6

のではなく

pipenv install --three

そして、それはトリックを行う必要があります。

23
Josh

Pipenvをセットアップするとき、Pythonのバージョンを指定するにはpipenv --python 3.6、Python3.6を使用します。

Pipfileの編集も機能します:

[requires] python_version = "3.6.6"

特定のバージョンのPythonが必要です。

これをすべて実行しても、正しいバージョンのPythonからpipenv Shellその後、あなたは.bashrcファイルを使用して、特定のバージョンのPythonのaliasがないことを確認します。

5
Keenan

プロジェクトの仮想環境を作成する場合は、上記の答えが役に立たない可能性があります。たとえば、pythonの複数のバージョンがインストールされていて、以下の例のように実行可能ファイルの名前を変更する必要がある場合、OR異なるpythonバージョンを使用して仮想環境を作成します。

プロジェクトの仮想環境を作成する場合、より具体的にpython実行可能ファイルのパスを指定できます。

プロジェクトフォルダーに関連する以下のコマンドを忘れずに実行してください。

pipenv install --python 'C:\Python373\python373.exe'
2
Rayner Da Cruz