【问题标题】:How to use pipenv in Python shell script?如何在 Python shell 脚本中使用 pipenv?
【发布时间】:2019-01-28 19:41:27
【问题描述】:

我需要一个用于我用 Python 编写的 shell 脚本的模块,所以我使用 pipenv 来安装它。我可以使用以下命令很好地运行命令:

~$ pipenv run python3 foo

现在,如果我只想在命令行上运行~$ foo(MacOS 上的fish shell,安装了自制软件),如何在 Python 脚本的 shebang 中调用 pipenv 环境?还是有更好的办法?

【问题讨论】:

    标签: python macos shell command-line pipenv


    【解决方案1】:

    https://pipenv.readthedocs.io/en/latest/ 此处所述,您需要先激活虚拟环境。这将生成另一个激活虚拟环境的 shell

    $ pipenv shell

    这样你就可以运行了

    $ python foo

    执行你的脚本。然后你可以使用

    #!/usr/bin/env python

    在脚本的第一行,使脚本可执行 (chmod +x foo.py),以便您可以运行

    $ ./foo

    如果该脚本的位置是您的 PATH 环境变量的一部分,那么您现在应该可以运行了

    $ foo.py

    如果你不喜欢这个扩展,你也必须从你的脚本中删除

    【讨论】:

      【解决方案2】:

      使用pipenv-shebang,您可以运行您的脚本

      pipenv-shebang PATH/SCRIPT
      

      或者你可以插入shebang

      #!/usr/bin/env pipenv-shebang
      

      只用PATH/SCRIPT 运行它。

      【讨论】:

        【解决方案3】:

        创建像下面这样的包装文件对我有用,但有点 hacky 方式。

        import subprocess
        if __name__ == '__main__':
            subprocess.run(['pipenv', 'run', 'foo'])
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-11-21
          • 2016-04-20
          • 2010-09-06
          • 2012-07-09
          • 2020-06-25
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多