当我运行“诗歌运行”命令时出现PermissionError

时间:2020-06-07 05:48:31

标签: python python-poetry

环境

  • 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命令有什么问题?

2 个答案:

答案 0 :(得分:2)

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

当然,您必须在main.py的最上方有一个适当的Shebang。类似于#!/usr/bin/env python(再次-在文件的开头)。

答案 1 :(得分:0)

仅供参考,您也可以执行 <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>4.9.0</version> </dependency> <dependency> <groupId>org.web3j</groupId> <artifactId>core</artifactId> <version>4.6.3</version> <exclusions> <exclusion> <artifactId>okhttp</artifactId> <groupId>com.squareup.okhttp3</groupId> </exclusion> </exclusions> </dependency>