首页 > 解决方案 > Python在子目录中失败,但在主目录中工作

问题描述

我在 VM 上有一台 Ubuntu 机器(18.04)。当我在主目录中运行 python 时,一切正常响应,但是当我从子目录运行时,它无法在标准库中导入模块。

下面的序列说明了问题

anon@anon-VirtualBox:~$ python
Python 2.7.15rc1 (default, Nov 12 2018, 14:31:15)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>import os
>>> os.environ['PATH']
'/bin:/home/anon/anaconda2/bin:/home/anon/bin:/home/anon/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'
>>> import logging
>>> exit()

这是预期的行为。

但是,当我进入子目录时,相同的操作失败

anon@anon-VirtualBox:~$ cd GitHub/bikeano
anon@anon-VirtualBox:~/GitHub/bikeano$ python
Python 2.7.15rc1 (default, Nov 12 2018, 14:31:15)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.environ['PATH']
'/bin:/home/anon/anaconda2/bin:/home/anon/bin:/home/anon/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'
>>> import logging
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "logging.py", line 5, in <module>
   import logging.handlers
ImportError: No module named handlers
>>>

我不明白这里发生了什么。是否有其他可能影响此的环境变量?

此外,这发生在 Virtualbox VM 上,并且相同的 .vdi 在另一台机器上正常工作?两台机器上的主机都是 Windows 10。

标签: pythonpython-2.7virtualbox

解决方案


推荐阅读