创建Python包时缺少权限的解决方法

时间:2015-07-17 10:34:01

标签: python packages

我正在编写一个包含多个文件夹的Python程序,它已经变得足够大,使它成为一个包有意义(因此模块内导入工作)。

该项目几乎包括:

project_folder/
 - setup.py
 - source_code/
     - somecode.py
     - __init__.py
 - inputs/
     - input_image.png
     - input_text.conf
     - __init__.py
 - outputs/
     - __init__.py

现在我遇到的问题是当我用

安装软件包时
 python setup.py install

包在/ usr / local / lib / ...这是一个文件夹,我没有权限保存python的输出而不用提升的权限运行它。不仅如此,而且改变输入对于普通用户来说过于复杂。

所以我想到的第一个解决方案是在/ home目录中的某个位置存放输入和输出目录。但是,这会使安装变得更加困难,因为用户必须转到source_code目录并更改一些描述输入所在位置的路径。

我在这里遗漏了一些明显的东西,还是没有解决方案在每种情况下都很容易?

是否有办法在没有通过setup.py实现安装包的情况下使包内导入工作?

1 个答案:

答案 0 :(得分:0)

使用install命令的--user开关。它将文件放在$HOME/.local而不是/usr/local中。阅读更多here

您可能需要将$HOME/.local/bin添加到PATH环境变量中。