这个坑踩了两次了,所以就记录下.

用的Windows,然后通过Vagrant+VirtualBox安装了个虚拟机,是Ubuntu 12.04.3 LTS,同时将/opt进行目录映射到Windows的E盘某个目录 然后平时的开发工作主要在/opt/dev下进行,然后发现了一个坑

大家都知道Linux是区分大小写的,而在Windows下文件名是不区分大小写的

我们做个测试:

分别在虚拟机的/opt/test(映射的目录)/tmp/test创建a.pyA.py

可以很明显的看到,/opt/test目录下就一个a.py,因为Windows下a.pyA.py代表相同文件名 因为用的Python,然后引发一个模块引用的问题

在相同目录下进行import Cookie前者是Python自带模块,后者是目录下创建的Cookie.py文件 第一次引用是因为还没在目录下创建cookie.py文件,第二次是因为创建了cookie.py,但我们是import Cookie,但理论上区分大小写,应该引用的还是Python自带模块,结果成了创建的cookie.py文件,并且编译了个Cookie.pyc