我在spyder有一个python项目,不管我在哪里,我都会在一天之内打开它,在Mac、Windows和Ubuntu上工作。问题是导入模块在windows上的工作方式不同。你知道吗
我的文件系统设置如下:
- /Project
* Main.py
- /modules
* Functions.py
* constants.py
* otherFunctions.py
- /Data
* bunch of data files
在主.py,我有:
import modules.Functions as gf
import modules.otherFunctions as of
from modules.constants import gas_const_R, Solar_const
内部其他函数.py,我有:
import modules.Functions as gf
在常数.py,我有:
gas_const_R = 287.04
Solar_const = 1368.0
这一切在Linux和Mac上都能很好地工作,但是Windows不会导入常量,也不会允许其他函数.py导入函数.py. 你知道吗
当前工作目录在所有操作系统上都是相同的。主.py可以导入所有模块,但它们不能在Windows上相互导入,而且我无法在Windows上获取常量。你知道吗
这是我的spyder设置中的问题吗? windows路径有问题吗? 有没有一种方法可以根据所使用的操作系统进行不同的导入?你知道吗
这取决于IDE如何执行程序,特别是CWD(当前工作目录)是什么。这是(一些)进口相对于进口的地方。您可以通过运行以下命令来检查此目录:
对于您想要的行为,这应该打印所有三个目录的父目录。如果没有,您必须更改IDE的设置(对不起,我不知道spyder)。你知道吗
相关问题 更多 >
编程相关推荐