是的,从Python 3.8开始,您可以控制这种行为。原始讨论始于2003年的PEP 304。
虽然此原始PEP已被撤回,但此功能的一种变体最终在Python 3.8中得以实现,在https://bugs.python.org/issue33499中进行了更改。
结果中,您可以使用PYTHONPYCACHEPREFIX=path
、 -X pycache_prefix=path
和 sys.pycache_prefix
来控制它。
export PYTHONPYCACHEPREFIX=/tmp
。缓存文件将被发送到 /tmp 目录,并且将在 10 天后或系统重启时清除。 - AmaanK/tmp
对于 macOS 也适用!更好的是,export PYTHONPYCACHEPREFIX=/tmp/pycache
将把所有文件放在 pycache 下,如果需要的话会创建它。优点是可以轻松删除缓存 - 我曾经遇到过删除/重命名 .py 文件时出现问题,但旧名称下的遗忘导入找到了某个地方的 .pyc。 - JL Peyret无法更改 .pyc 文件存储位置。Python 3.2 实现了 __pycache__
方案,所有的 .pyc 文件都会存放在名为 __pycache__
的目录下。如果你真的需要保持目录的清洁,现在可以获取 Python 3.2 alpha 1 版本。
在 3.2 版本发布之前,请尽可能地配置工具以忽略 .pyc 文件。
__pycache__
文件夹中的 .pyc 文件中。您可以在 C:\Python34\Lib\__pycache__
下找到常见的编译文件。 - Aniket ThakurPython文件并不总是存储在同一个目录中,如果使用pycache,则会被重定向到pycache。有关能够具有自定义位置和名称的答案,因为导入模块相当暴躁,并且并不总是有效。您将能够在github.com/LolexInc/Lolex-Tools/tree/Beta上查看JTToolsInstaller.py并了解我的意思。里面有很多混乱。