我正在编写一个包含多个文件夹的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实现安装包的情况下使包内导入工作?
答案 0 :(得分:0)
使用install命令的--user
开关。它将文件放在$HOME/.local
而不是/usr/local
中。阅读更多here。
您可能需要将$HOME/.local/bin
添加到PATH
环境变量中。