【问题标题】:Have PermissionError when I run "poetry run" command运行“诗歌运行”命令时出现 PermissionError
【发布时间】:2020-11-03 07:26:27
【问题描述】:

环境

  • Ubuntu 20.04
  • Python 3.7.3
  • 诗歌1.0.8

我的问题

我安装了诗歌来管理包,并通过以下简单项目进行了尝试,

.
└── myproject
    ├── README.rst
    ├── myproject
    │   ├── __init__.py
    │   ├── main.py
    ├── myproject.egg-info
    │   ├── PKG-INFO
    │   ├── SOURCES.txt
    │   ├── dependency_links.txt
    │   ├── requires.txt
    │   └── top_level.txt
    ├── poetry.lock
    ├── pyproject.toml
    └── tests
        ├── __init__.py
        └── test_myproject.py

运行main.py 我试过了

$ poetry run myproject/main.py

但我有一个错误,上面写着,

[PermissionError]
[Errno 13] Permission denied

我尝试了什么

为了运行我的代码,我尝试了另一种方式。

$ poetry shell
(myproject-x8XipcUE-py3.7)$ python myproject/main.py

我没有错误...

我的poetry run 命令有什么问题?

【问题讨论】:

    标签: python python-poetry


    【解决方案1】:

    仅供参考,您也可以poetry run python myproject/main.py

    【讨论】:

    • 这应该是公认的答案。在 python 脚本中添加 +x 并不是很安全。
    【解决方案2】:

    我的猜测是myproject/main.py 不是可执行文件(没有“x”)权限。这就是为什么您可以使用python myproject/main.py 运行它,但不能将其作为主exe 运行。要修复它,请运行chmod +x myproject/main.py,然后再次尝试poetry run

    当然,您必须在main.py 的最顶部有一个适当的Shebang。 #!/usr/bin/env python 之类的东西(再次 - 在文件的开头)。

    【讨论】:

    • 感谢您的回答。我试过了,但我有其他错误“[OSError] [Errno 8] Exec format error”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 2022-07-19
    • 2016-10-10
    • 1970-01-01
    相关资源
    最近更新 更多