PYTHONPATH环境变量......之后如何创建每个子目录?

TIM*_*MEX 1 python unix linux environment-variables

我目前这样做:

PYTHONPATH=/home/$USER:/home/$USER/respository:/home/$USER/repository/python-stuff
Run Code Online (Sandbox Code Playgroud)

我怎样才能让PYTHONPATH包含所有子目录?

PYTHONPATH = /home/$USER/....and-all-subdirectories
Run Code Online (Sandbox Code Playgroud)

Ale*_*lli 9

sys.path两条路径上通常是一个坏主意,其中一条路径是另一条路径的父路径 - 当然,假设子目录包含一个__init__.py文件以将其标记为包.如果只有父目录在路径中(并且$PYTHONPATHsys.path初始化的部分),则可以从包中导入子目录中的模块,即只通过一个文件系统路径,从而避免在单个模块下导入单个模块的风险不同的伪装.

那你为什么不把__init__.py文件放在需要它的所有子目录中,并使用包导入?

虽然我认为你的请求是个坏主意,但它肯定是可行的 - Unix find命令可以很容易地列出目录的所有子目录,每行一个(find . -type d),你可以很容易地将这些行粘合在一起,例如通过管道查找输出tr '\n' :.