<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>.pyc файлы - Python 3 | Data Science | Нейронные сети | AI - Искусственный Интеллект</title>
	<atom:link href="https://python.ivan-shamaev.ru/tag/pyc-%D1%84%D0%B0%D0%B9%D0%BB%D1%8B/feed/" rel="self" type="application/rss+xml" />
	<link>https://python.ivan-shamaev.ru/tag/pyc-файлы/</link>
	<description>Библиотеки обработки данных. Примеры. Строки, списки, файлы, числа, массивы. Язык программирования Python 3 - скачать</description>
	<lastBuildDate>Thu, 08 Sep 2022 22:06:43 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.2</generator>

<image>
	<url>https://python.ivan-shamaev.ru/wp-content/uploads/2019/04/cropped-data_science_python3_logo-32x32.png</url>
	<title>.pyc файлы - Python 3 | Data Science | Нейронные сети | AI - Искусственный Интеллект</title>
	<link>https://python.ivan-shamaev.ru/tag/pyc-файлы/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Что такое __pycache__ в Python? Как запретить создание __pycache__ и .pyc файлов?</title>
		<link>https://python.ivan-shamaev.ru/what-is-__pycache__-in-python-project-and-pyc-files/</link>
					<comments>https://python.ivan-shamaev.ru/what-is-__pycache__-in-python-project-and-pyc-files/#respond</comments>
		
		<dc:creator><![CDATA[Шамаев Иван]]></dc:creator>
		<pubDate>Thu, 08 Sep 2022 22:00:27 +0000</pubDate>
				<category><![CDATA[Введение в Python 3]]></category>
		<category><![CDATA[__pycache__]]></category>
		<category><![CDATA[.pyc файлы]]></category>
		<category><![CDATA[Как запретить __pycache__]]></category>
		<category><![CDATA[что такое __pycache__]]></category>
		<guid isPermaLink="false">https://python.ivan-shamaev.ru/?p=1650</guid>

					<description><![CDATA[<p>В этой статье будет разобрана природа возникновения папки __pycache__, которая создается при запуске кода Python. Введение Наверное, вы заметили, что при выполнении кода Python __pycache__ (иногда) создается каталог с именем, который содержит множество файлов с .pyc расширением. В этой статье мы обсудим назначение этих файлов, которые создаются интерпретатором Python. Мы обсудим, почему эти файлы генерируются, [&#8230;]</p>
<p>Сообщение <a href="https://python.ivan-shamaev.ru/what-is-__pycache__-in-python-project-and-pyc-files/">Что такое __pycache__ в Python? Как запретить создание __pycache__ и .pyc файлов?</a> появились сначала на <a href="https://python.ivan-shamaev.ru">Python 3 | Data Science | Нейронные сети | AI - Искусственный Интеллект</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_telegram" href="https://www.addtoany.com/add_to/telegram?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fwhat-is-__pycache__-in-python-project-and-pyc-files%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20__pycache__%20%D0%B2%20Python%3F%20%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20__pycache__%20%D0%B8%20.pyc%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%3F" title="Telegram" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fwhat-is-__pycache__-in-python-project-and-pyc-files%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20__pycache__%20%D0%B2%20Python%3F%20%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20__pycache__%20%D0%B8%20.pyc%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%3F" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fwhat-is-__pycache__-in-python-project-and-pyc-files%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20__pycache__%20%D0%B2%20Python%3F%20%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20__pycache__%20%D0%B8%20.pyc%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%3F" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fwhat-is-__pycache__-in-python-project-and-pyc-files%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20__pycache__%20%D0%B2%20Python%3F%20%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20__pycache__%20%D0%B8%20.pyc%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%3F" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fwhat-is-__pycache__-in-python-project-and-pyc-files%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20__pycache__%20%D0%B2%20Python%3F%20%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20__pycache__%20%D0%B8%20.pyc%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%3F" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fwhat-is-__pycache__-in-python-project-and-pyc-files%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20__pycache__%20%D0%B2%20Python%3F%20%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20__pycache__%20%D0%B8%20.pyc%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%3F" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fwhat-is-__pycache__-in-python-project-and-pyc-files%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20__pycache__%20%D0%B2%20Python%3F%20%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20__pycache__%20%D0%B8%20.pyc%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%3F" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fwhat-is-__pycache__-in-python-project-and-pyc-files%2F&#038;title=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20__pycache__%20%D0%B2%20Python%3F%20%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20__pycache__%20%D0%B8%20.pyc%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%3F" data-a2a-url="https://python.ivan-shamaev.ru/what-is-__pycache__-in-python-project-and-pyc-files/" data-a2a-title="Что такое __pycache__ в Python? Как запретить создание __pycache__ и .pyc файлов?"></a></p><p>В этой статье будет разобрана природа возникновения папки __pycache__, которая создается при запуске кода Python.</p>
<h1>Введение</h1>
<p>Наверное, вы заметили, что при выполнении кода Python <code class="EnlighterJSRAW" data-enlighter-language="raw">__pycache__</code> (иногда) создается каталог с именем, который содержит множество файлов с <code class="EnlighterJSRAW" data-enlighter-language="raw">.pyc</code> расширением.</p>
<p>В этой статье мы обсудим назначение этих файлов, которые создаются интерпретатором Python. Мы обсудим, почему эти файлы генерируются, как подавить их создание и как гарантировать, что они не будут переданы в какой-либо удаленный репозиторий.</p>
<h1>Файлы .pyc и папка __pycache__</h1>
<p><strong>Python</strong> является интерпретируемым языком, что означает, что ваш исходный код преобразуется в набор инструкций, понятных ЦП во время выполнения. При запуске вашей программы Python исходный код компилируется в <strong>байт-код</strong>, который является деталью реализации <strong>CPython</strong> (исходной реализации Python). <strong>Байт-код</strong> также кэшируется и сохраняется в <code class="EnlighterJSRAW" data-enlighter-language="raw">.pyc файлах</code>, поэтому при следующем повторном запуске кода выполнение того же файла будет быстрее.</p>
<p>Обратите внимание, что пара концепций, обсуждаемых в этом разделе, касающихся интерпретатора и байт-кода, упрощены и верны лишь частично, но их более чем достаточно, чтобы помочь вам понять <strong>pyc файлы</strong> и <code class="EnlighterJSRAW" data-enlighter-language="raw">__pycache__</code> директории.</p>
<p>Таким образом, после первого выполнения вашего исходного кода будет создана папка <strong>__pycache__</strong>, содержащая несколько .<strong>pyc файлов байт-кода</strong> с теми же именами, что и ваши .py файлы. Как уже упоминалось, они будут использоваться в последующих исполнениях, чтобы ваша программа запускалась немного быстрее.</p>
<p>Каждый раз, когда ваш исходный код модифицируется, он будет перекомпилирован, и новые файлы байт-кода будут создаваться снова. Обратите внимание, что в некоторых случаях это может быть не так, и <strong>Python</strong> выполнит код, используя кэшированные файлы, что вызовет у вас некоторые проблемы. Например, вы, возможно, исправили ошибку, но Python может работать в кешированной версии с ошибками. В этом случае вам, возможно, придется удалить <strong>__pycache__</strong> папку или даже запретить создание этих файлов.</p>
<h1>Подавление/запрет создания __pycache__</h1>
<p>При использовании интерпретатора <strong>CPython</strong> (который в любом случае является исходной реализацией Python) вы можете подавить создание этой папки двумя способами.</p>
<p>Первый вариант — передать <code class="EnlighterJSRAW" data-enlighter-language="raw">-B</code> флаг при запуске файла Python. Когда флаг указан, Python не будет пытаться записывать <code class="EnlighterJSRAW" data-enlighter-language="raw">.pyc файлы</code> при импорте исходных модулей:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">python3 -B my_python_app.py</pre>
<p>В качестве альтернативы вы можете установить переменную среды <strong>PYTHONDONTWRITEBYTECODE</strong> в любую непустую строку. Опять же, это предотвратит попытки Python записывать <code class="EnlighterJSRAW" data-enlighter-language="raw">.pyc</code> файлы.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">export PYTHONDONTWRITEBYTECODE=abc</pre>
<p>Обратите внимание, что оба подхода эквивалентны.</p>
<h2>Добавление __pycache__ в файл .gitignore</h2>
<p>При работе в локальном репозитории Git будет отслеживать каждый файл в репозитории Git. Каждый файл может быть отслежен (т.е. уже подготовлен и зафиксирован), не отслежен (не подготовлен или зафиксирован) или проигнорирован.</p>
<p>В большинстве случаев вам следует игнорировать определенные файлы, такие как файлы с конфиденциальными данными, системные файлы или автоматически сгенерированные файлы, созданные, скажем, в среде IDE или в определенной рабочей области.</p>
<p>Самый элегантный способ сделать это — через .gitignore файл, который находится в верхнем каталоге удаленного репозитория Git, в котором вы можете явно указать файлы или каталоги (также можно применять регулярные выражения), которые Git будет игнорировать и не будет отслеживать дольше.</p>
<p>__pycache__ входит в число каталогов, которые не следует помещать в удаленные репозитории. Поэтому все, что вам нужно сделать, это указать каталог в .gitignore файле.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic"># .gitignore
__pycache__/</pre>
<p><strong>Важное</strong></p>
<blockquote><p>Одно важное предостережение относительно байт-кода заключается в том, что .pyc файлы будут использоваться в тех случаях, когда эквивалентного .py файла больше нет. Например, если вы удалили или переименовали .py файл, но по какой-то причине вы все еще видите, как они выполняются любым возможным способом, то это может быть фактической причиной.</p></blockquote>
<p><a class="a2a_button_telegram" href="https://www.addtoany.com/add_to/telegram?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fwhat-is-__pycache__-in-python-project-and-pyc-files%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20__pycache__%20%D0%B2%20Python%3F%20%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20__pycache__%20%D0%B8%20.pyc%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%3F" title="Telegram" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fwhat-is-__pycache__-in-python-project-and-pyc-files%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20__pycache__%20%D0%B2%20Python%3F%20%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20__pycache__%20%D0%B8%20.pyc%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%3F" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fwhat-is-__pycache__-in-python-project-and-pyc-files%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20__pycache__%20%D0%B2%20Python%3F%20%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20__pycache__%20%D0%B8%20.pyc%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%3F" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fwhat-is-__pycache__-in-python-project-and-pyc-files%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20__pycache__%20%D0%B2%20Python%3F%20%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20__pycache__%20%D0%B8%20.pyc%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%3F" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fwhat-is-__pycache__-in-python-project-and-pyc-files%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20__pycache__%20%D0%B2%20Python%3F%20%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20__pycache__%20%D0%B8%20.pyc%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%3F" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fwhat-is-__pycache__-in-python-project-and-pyc-files%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20__pycache__%20%D0%B2%20Python%3F%20%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20__pycache__%20%D0%B8%20.pyc%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%3F" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fwhat-is-__pycache__-in-python-project-and-pyc-files%2F&amp;linkname=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20__pycache__%20%D0%B2%20Python%3F%20%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20__pycache__%20%D0%B8%20.pyc%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%3F" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fpython.ivan-shamaev.ru%2Fwhat-is-__pycache__-in-python-project-and-pyc-files%2F&#038;title=%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20__pycache__%20%D0%B2%20Python%3F%20%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20__pycache__%20%D0%B8%20.pyc%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%3F" data-a2a-url="https://python.ivan-shamaev.ru/what-is-__pycache__-in-python-project-and-pyc-files/" data-a2a-title="Что такое __pycache__ в Python? Как запретить создание __pycache__ и .pyc файлов?"></a></p><p>Сообщение <a href="https://python.ivan-shamaev.ru/what-is-__pycache__-in-python-project-and-pyc-files/">Что такое __pycache__ в Python? Как запретить создание __pycache__ и .pyc файлов?</a> появились сначала на <a href="https://python.ivan-shamaev.ru">Python 3 | Data Science | Нейронные сети | AI - Искусственный Интеллект</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://python.ivan-shamaev.ru/what-is-__pycache__-in-python-project-and-pyc-files/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
