python-2.7 - 从 Python 搜索模块路径中删除路径

标签 python-2.7

我了解 sys.path

  • 具有系统库的操作系统路径。我认为这些是指 /lib在 *nix 或 Windows在 Windows 上。
  • 当前目录 python 开始于 - 如果 Python 从 C:\Python 开始,我接受它,这将是当前路径
  • 环境变量 $PYTHONPATH 或 %PYTHONPATH% - 这是指我可以从命令行调用 Python 二进制文件的路径
  • 您可以在运行时添加路径 - 我理解是在我运行 IDLE


  • 我可以通过运行命令 sys.path.append 添加路径但是当我运行命令 sys.path.remove要“删除”我附加的路径,我无法这样做。有没有办法做到这一点而不必每次都关闭 IDLE?

    我在 Windows 7 和 Ubuntu 上运行 Python 2.7

    最佳答案

    一切都在我的机器上按预期工作:)

    Python 2.7.3 (default, Sep 26 2012, 21:51:14) 
    [GCC 4.7.2] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import sys
    >>> sys.path.append('/home/sergey')
    >>> sys.path
    ['', ..., '/home/sergey']
    >>> sys.path.remove('/home/sergey')
    >>> sys.path
    ['', ...]
    >>> 
    

    你到底试过什么?

    关于你对事物的理解——恐怕有一些误解:
  • sys.path是包含 Python 模块而不是系统库的目录列表。所以,简化,当你有像 import blah 这样的东西时在您的脚本中,Python 解释器会一一检查这些目录以检查是否有一个名为 blah.py 的文件。 (或名为 blah 的子目录,其中包含 __init__.py 文件)
  • 当前目录是脚本所在的位置,而不是 Python 解释器所在的位置。所以如果你有 foo.pybar.py在目录中,可以使用import barfoo.py并且该模块将被找到,因为它位于同一目录中。
  • $PYTHONPATH 是一个环境变量,它被附加到 sys.path在解释器启动时。所以,同样,它与模块搜索路径有关,与从命令行启动 Python 无关。
  • 正确,可以修改sys.path在运行时 - 在 IDLE 中运行 python 脚本时

  • sys.pathsite更多细节。

    关于python-2.7 - 从 Python 搜索模块路径中删除路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13793921/

    相关文章:

    python - 从文件中读取行对

    Python 在 Mac OS X Lion 中自动别名化

    python - DateOffset Pandas 减法

    Python - 函数更改输入列表,虽然我做了一个副本

    python - 什么是inf和nan?

    python - 为什么我会达到 @property 的递归限制?

    python pptx 添加没有图像文件的图像

    python-2.7 - Python unicode - UCS2 与 UCS4

    python - python 中是否有 chgrp -R 的等效项?

    python - sqlalchemy操作错误: (OperationalError) unable to open database file None None