我现在有一个项目想要使用pipenv。
我想从我的主bin目录中对此链接进行符号链接,因此我可以从另一个目录(与本地文件交互的目录)中运行它,但是仍然在pipenv中使用适当安装的文件运行它。
我可以做类似的事情
pipenv run python /PATH/TO/MY/CODE/foo.py localfile.conf
还是不打算使用/ PATH / TO / MY / CODE / Pipenv中定义的pipenv?
答案 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 ...
(尽管我迟到了半年,但仍在回答,因为这是第一个相关的搜索结果,所以我下次可以再次找到它。)