我是 pipenv 的新手,所以这里可能有些我不理解的东西。但是,似乎创建的虚拟环境取决于当前目录,这对我来说似乎很糟糕。
这是我所做的:
从 Github 签出已经有 Pipfile 和 Pipfile.lock 的代码
做了一些不相关的事情......此时我在一个名为 /home/user/me/miniconda3/bin/ 的目录中
跑 /home/user/me/miniconda3/bin/pipenv 运行 python /home/user/me/my-script-dir/my-script.py
这导致 Pipenv 创建了一个虚拟环境。输出:
为这个项目创建一个 virtualenv... 使用 /home/user/me/miniconda3/bin/python (3.6.4) 创建 virtualenv... 已经使用解释器 /home/user/me/miniconda3/bin/python 使用基本前缀 ' /home/user/me/miniconda3' /home/user/me/.local/share/virtualenvs/bin-YnM8YhRk/bin/python 中的新 python 可执行文件安装 setuptools、pip、wheel...完成。
Virtualenv 位置:/home/user/me/.local/share/virtualenvs/bin-YnM8YhRk 为这个项目创建一个 Pipfile...</p>
然后我意识到我需要运行
pipenv install
,所以这次我 cd'd 到实际存储脚本的目录/home/user/me/my-script-dir/
,然后运行/home/user/me/miniconda3/bin/pipenv install
。然后我得到了这个输出:为这个项目创建一个 virtualenv... 使用 /home/user/me/miniconda3/bin/python (3.6.4) 创建 virtualenv... 已经使用解释器 /home/user/me/miniconda3/bin/python 使用基本前缀 '/home /user/me/miniconda3' /home/user/me/.local/share/virtualenvs/my-script-dir-Ex37BY7g/bin/python 中的新 python 可执行文件安装 setuptools、pip、wheel...完成。
Virtualenv 位置:/home/user/me/.local/share/virtualenvs/my-script-dir-Ex37BY7g 从 Pipfile.lock (6c24e4) 安装依赖项...</p>
如您所见,我实际上每次都运行相同的脚本,但不知何故,它创建了两个不同的虚拟环境。并且虚拟环境是以我当时的当前目录命名的,而不是脚本的目录。除非我遗漏了什么,否则这似乎非常笨拙。