我最近在我的 python 路径中添加了一些我不想在那里使用的东西:
export PYTHONPATH=$PYTHONPATH:/my/path
您可以使用sys.path.remove
删除路径中的某些内容,但它不是 100% 永久的,就像我使用上面的命令行语句添加它的方式一样。
我该怎么做才能从 python 路径中永久删除目录?
我最近在我的 python 路径中添加了一些我不想在那里使用的东西:
export PYTHONPATH=$PYTHONPATH:/my/path
您可以使用sys.path.remove
删除路径中的某些内容,但它不是 100% 永久的,就像我使用上面的命令行语句添加它的方式一样。
我该怎么做才能从 python 路径中永久删除目录?
如果您只是删除 .bashrc 中的“export PYTHONPATH=...”行并执行“source .bashrc”,这些目录仍将位于 sys.path 中。
与 .bashrc 中的“export PATH”不同,似乎当您将某些目录导出到 PYTHONPATH 时,它们会被转储到 python 可以随时检查的某个文件中。
因此,您需要做的是 “export PYTHONPATH=”(导出空字符串)并执行“source .bashrc”。这将清理您之前在 .bashrc 中导出到 PYTHONPATH 的所有内容。
首先,从终端通过使用获取路径中的所有内容
env | grep PYTHONPATH
然后,导出您的路径并手动删除您不再需要的任何内容:
export PYTHONPATH=[this is where you paste the corrected paths, no square brackets needed]
如果您重新启动会话并且没有修改 .bashrc 中的任何内容,您可以简单地关闭并重新打开会话。
如果您提到的行在您的 .bashrc 中,那么简单地删除它应该是安全的。
就目前而言,该行所说的是“将 /my/path 添加到 PYTHONPATH”,因此即使您的 .bashrc 周围还有其他人,它也应该是相当安全的。
您的持久 Python 路径通常通过 ~/.bashrc 之类的 shell 启动文件设置。
在 shell 中修改 PYTHONPATH 变量只会在使用“export”时更改当前 shell 实例及其子实例的值,但绝不是要永久更改其值。
使用以下命令查找修改路径的位置:
grep -l PYTHONPATH ~/.*
如果它在启动文件中被硬编码,则在那里编辑它的值,生成一个新的 shell,瞧!
或者,可以通过指向另一个位置的现有路径中的 .pth 文件将路径添加到 Python 的路径。
如果是这种情况,从 Python 的路径中永久删除它应该像删除这个文件一样简单。
这适用于 Windows 用户。因此,如果您使用
pip install --user -e <package>
.
然后可以在 .pth 文件中找到模块路径。通常它被命名为easy-install.pth
并且可以在 site-packages 目录中找到。尝试从此文件中删除条目,然后sys.path
再次检查。