首页 > 解决方案 > 英特尔 Distribution for Python 上的 pipenv 环境

问题描述

我试图在我的 Python 应用程序中利用 MKL(英特尔数学内核库),该应用程序使用 pipenv 进行包管理和虚拟环境。

我安装了 Intel 的 Python 发行版:

$ /opt/intel/intelpython3/bin/python --version
Python 3.6.5 :: Intel Corporation

现在我正在尝试使用这个 Python 发行版安装一个新的 pipenv 环境:

/home/.../test4 $ which pipenv
/home/.../.local/bin/pipenv

/home/.../test4 $ pipenv install --python=/opt/intel/intelpython3/bin/python
Creating a virtualenv for this project...
Pipfile: /home/.../test4/Pipfile
Using /opt/intel/intelpython3/bin/python (3.6.5) to create virtualenv...
⠋Running virtualenv with interpreter /opt/intel/intelpython3/bin/python
Using base prefix '/opt/intel/intelpython3'
New python executable in /home/.../.local/share/virtualenvs/test4-qDBSlh47/bin/python
Installing setuptools, pip, wheel...done.
Setting project for test4-qDBSlh47 to /home/.../test4

Virtualenv location: /home/.../.local/share/virtualenvs/test4-qDBSlh47
Creating a Pipfile for this project...
Pipfile.lock not found, creating...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Updated Pipfile.lock (ca72e7)!
Installing dependencies from Pipfile.lock (ca72e7)...
     ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/0 — 00:00:00
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

/home/.../test4 $ pipenv run python --version
Python 3.6.6

如您所见,此pipenv环境中的 python 版本不是用于创建pipenv带有其--python参数的版本。

它应该是Python 3.6.5 :: Intel Corporation,但它是Python 3.6.6

Python 3.6.6是我的系统python3.6

$ python3.6 --version
Python 3.6.6
$ which python3.6
/usr/bin/python3.6

所以问题是为什么 pipenv 的--python论点不驱动什么 python 可执行文件被复制到虚拟环境中。如果这不是在虚拟环境中设置 python 可执行文件的方法,那是什么?

编辑:
生成的 Pipfile:

$ vi Pipfile

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

[packages]

[dev-packages]

[requires]
python_version = "3.6"

标签: pythonpipenv

解决方案


推荐阅读