如何从另一个目录运行Python Pipenv?

时间:2018-11-06 18:40:07

标签: python pipenv

我现在有一个项目想要使用pipenv。

我想从我的主bin目录中对此链接进行符号链接,因此我可以从另一个目录(与本地文件交互的目录)中运行它,但是仍然在pipenv中使用适当安装的文件运行它。

我可以做类似的事情

pipenv run python /PATH/TO/MY/CODE/foo.py localfile.conf

还是不打算使用/ PATH / TO / MY / CODE / Pipenv中定义的pipenv?

2 个答案:

答案 0 :(得分:4)

pipenv是virtualenv的包装器,可将virtualenv文件保留在主目录中的某个文件夹中。我在/home/MYUSERNAME/.local/share/virtualenvs中找到了它们。

所以我写了small_script.sh

#!/bin/bash
source /home/MYUSERNAME/.local/share/virtualenvs/MYCODE-9as8Da87/bin/activate
python /PATH/TO/MY/CODE/foo.py localfile.conf
deactivate

它会自行激活virtualenv,然后在本地目录中运行python代码,最后取消激活virtualenv。

您可以将localfile.conf替换为$@,以便运行./small_script.sh localfile.conf

答案 1 :(得分:0)

不确定这是否与您在2018年使用的pipenv版本有关,但是从当前版本开始,您可以使用PIPENV_PIPFILE环境变量。最后,您将得到一个包装外壳脚本,如下所示:

export PIPENV_PIPFILE=/my/project/dir/Pipefile
exec pipenv run command ...

(尽管我迟到了半年,但仍在回答,因为这是第一个相关的搜索结果,所以我下次可以再次找到它。)