<?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>venv &#8211; cybogeek.com</title>
	<atom:link href="https://cybogeek.com/tag/venv/feed/" rel="self" type="application/rss+xml" />
	<link>https://cybogeek.com</link>
	<description>Explore, Develop, Safeguard</description>
	<lastBuildDate>Sun, 03 May 2026 11:15:04 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://cybogeek.com/wp-content/uploads/2025/09/cropped-cybogeek-ico-1x-32x32.png</url>
	<title>venv &#8211; cybogeek.com</title>
	<link>https://cybogeek.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to Create a Virtual Environment in Python (Beginner-Friendly Guide)</title>
		<link>https://cybogeek.com/how-to-create-a-virtual-environment-in-python-beginner-friendly-guide/</link>
		
		<dc:creator><![CDATA[Sukanto]]></dc:creator>
		<pubDate>Sun, 03 May 2026 11:14:42 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[development environment]]></category>
		<category><![CDATA[pip]]></category>
		<category><![CDATA[Python beginner]]></category>
		<category><![CDATA[Python packages]]></category>
		<category><![CDATA[Python setup]]></category>
		<category><![CDATA[Python tutorial]]></category>
		<category><![CDATA[venv]]></category>
		<category><![CDATA[virtual environment]]></category>
		<category><![CDATA[VS Code]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">https://cybogeek.com/?p=461</guid>

					<description><![CDATA[If you are learning Python, one of the best habits you can build early is using a virtual environment for every project. At first, the term “virtual environment” may sound technical or intimidating, but the idea behind it is actually very simple. A virtual environment gives each Python project its own isolated space for packages [&#8230;]]]></description>
										<content:encoded><![CDATA[<p data-start="456" data-end="706">If you are learning Python, one of the best habits you can build early is using a <strong data-start="538" data-end="561">virtual environment</strong> for every project. At first, the term “virtual environment” may sound technical or intimidating, but the idea behind it is actually very simple.</p>
<p data-start="708" data-end="952">A virtual environment gives each Python project its <strong data-start="760" data-end="782">own isolated space</strong> for packages and dependencies. This prevents one project from interfering with another and helps you avoid many common problems beginners face when installing libraries.</p>
<p data-start="954" data-end="1213">According to <strong data-start="967" data-end="1008"><span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Python Software Foundation</span></span></strong> documentation, virtual environments are a standard part of modern Python development. The <strong data-start="1099" data-end="1147"><span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Python Packaging Authority</span></span> (PyPA)</strong> also recommends using them for clean, predictable project setups.</p>
<p data-start="1215" data-end="1245">In this guide, you will learn:</p>
<ul data-start="1246" data-end="1475">
<li data-section-id="1mx593h" data-start="1246" data-end="1277">What a virtual environment is</li>
<li data-section-id="17klhcd" data-start="1278" data-end="1308">Why beginners should use one</li>
<li data-section-id="5m17lq" data-start="1309" data-end="1370">How to create and activate a virtual environment on Windows</li>
<li data-section-id="7gx1u7" data-start="1371" data-end="1403">How to install packages safely</li>
<li data-section-id="amw4xg" data-start="1404" data-end="1430">Common mistakes to avoid</li>
<li data-section-id="e8da50" data-start="1431" data-end="1475">How virtual environments work with VS Code</li>
</ul>
<p data-start="1477" data-end="1566">No advanced knowledge is required. If Python is already installed, you’re ready to begin.</p>
<p data-start="1477" data-end="1566">
<hr data-start="1568" data-end="1571" />
<h3 data-section-id="y2u358" data-start="1573" data-end="1620"><span role="text"><strong data-start="1576" data-end="1620">What Is a Virtual Environment in Python?</strong></span></h3>
<p data-start="1622" data-end="1692">A <strong data-start="1624" data-end="1647">virtual environment</strong> is a self-contained directory that includes:</p>
<ul data-start="1693" data-end="1778">
<li data-section-id="hyggkd" data-start="1693" data-end="1715">A Python interpreter</li>
<li data-section-id="1q8znfl" data-start="1716" data-end="1736">Its own <code data-start="1726" data-end="1731">pip</code> tool</li>
<li data-section-id="1bd6rb4" data-start="1737" data-end="1778">A private folder for installed packages</li>
</ul>
<p data-start="1780" data-end="1930">This environment is <strong data-start="1800" data-end="1849">separate from your system Python installation</strong>. Any packages you install inside it are only available to that specific project.</p>
<h4 data-section-id="1euzsyn" data-start="1932" data-end="1961"><span role="text"><strong data-start="1936" data-end="1961">Why does this matter?</strong></span></h4>
<p data-start="1963" data-end="2067">Without virtual environments, Python installs packages globally. This can quickly lead to problems when:</p>
<ul data-start="2068" data-end="2227">
<li data-section-id="13cwoeu" data-start="2068" data-end="2129">Two projects require different versions of the same library</li>
<li data-section-id="m2nf3k" data-start="2130" data-end="2175">Updating one package breaks another project</li>
<li data-section-id="1xk6gss" data-start="2176" data-end="2227">You forget which packages belong to which project</li>
</ul>
<p data-start="2229" data-end="2362">A virtual environment solves this by keeping everything isolated. Each project gets exactly what it needs—nothing more, nothing less.</p>
<p data-start="2364" data-end="2467">This isolation is the reason virtual environments are considered <strong data-start="2429" data-end="2446">best practice</strong>, even for beginners.</p>
<hr data-start="2469" data-end="2472" />
<h3 data-section-id="1rlkwdf" data-start="2474" data-end="2526"><span role="text"><strong data-start="2477" data-end="2526">Why Beginners Should Use Virtual Environments</strong></span></h3>
<p data-start="2528" data-end="2613">Many beginners skip virtual environments at first. The problems usually appear later.</p>
<p data-start="2615" data-end="2653">Here’s what often happens without one:</p>
<ul data-start="2654" data-end="2788">
<li data-section-id="1n5wljj" data-start="2654" data-end="2686">You install a package globally</li>
<li data-section-id="1793jjn" data-start="2687" data-end="2722">A different project stops working</li>
<li data-section-id="1sr779o" data-start="2723" data-end="2756">You don’t remember what changed</li>
<li data-section-id="egjxfz" data-start="2757" data-end="2788">Debugging becomes frustrating</li>
</ul>
<p data-start="2790" data-end="2849">Using a virtual environment from the start helps you avoid:</p>
<ul data-start="2850" data-end="2949">
<li data-section-id="1vz2w5e" data-start="2850" data-end="2872">Dependency conflicts</li>
<li data-section-id="1p1cpn5" data-start="2873" data-end="2890">Broken projects</li>
<li data-section-id="ibtu7a" data-start="2891" data-end="2913">Hard-to-trace errors</li>
<li data-section-id="1ro8gh3" data-start="2914" data-end="2949">Messy system Python installations</li>
</ul>
<p data-start="2951" data-end="3071">It also teaches you <strong data-start="2971" data-end="3008">real-world Python workflow habits</strong> early, making it much easier to work on larger projects later.</p>
<p data-start="3073" data-end="3144">Even for simple learning scripts, virtual environments are worth using.</p>
<hr data-start="3146" data-end="3149" />
<h3 data-section-id="1lsrbwf" data-start="3151" data-end="3174"><span role="text"><strong data-start="3154" data-end="3174">Before You Start</strong></span></h3>
<p data-start="3176" data-end="3225">Before creating a virtual environment, make sure:</p>
<ul data-start="3227" data-end="3337">
<li data-section-id="q3w2b" data-start="3227" data-end="3263">Python is installed on your system</li>
<li data-section-id="owpdqu" data-start="3264" data-end="3289">You can open a terminal</li>
<li data-section-id="a0vl1j" data-start="3290" data-end="3337">You know where your project folder is located</li>
</ul>
<p data-start="3339" data-end="3447">Modern Python versions include the built-in <code data-start="3383" data-end="3389">venv</code> module, so <strong data-start="3401" data-end="3446">you do not need to install anything extra</strong>.</p>
<p data-start="3449" data-end="3461">You can use:</p>
<ul data-start="3462" data-end="3581">
<li data-section-id="74e0bv" data-start="3462" data-end="3478">Command Prompt</li>
<li data-section-id="bfkb61" data-start="3479" data-end="3491">PowerShell</li>
<li data-section-id="1naxmc3" data-start="3492" data-end="3510">Windows Terminal</li>
<li data-section-id="1tqjr14" data-start="3511" data-end="3581">The integrated terminal in <strong data-start="3540" data-end="3581"><span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Visual Studio Code</span></span></strong></li>
</ul>
<hr data-start="3583" data-end="3586" />
<h3 data-section-id="b53mw3" data-start="3588" data-end="3637"><span role="text"><strong data-start="3591" data-end="3637">Step 1: Open or Create Your Project Folder</strong></span></h3>
<p data-start="3639" data-end="3708">First, create or open the folder where your Python project will live.</p>
<p data-start="3710" data-end="3718">Example:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code><span class="ͼl">mkdir</span> myproject
<span class="ͼl">cd</span> myproject</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="3761" data-end="3921">Now open a terminal <strong data-start="3781" data-end="3803">inside this folder</strong>. This is important because the virtual environment should live inside the project, not somewhere else on your system.</p>
<p data-start="3761" data-end="3921"><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-463" src="https://cybogeek.com/wp-content/uploads/2026/05/venv-mkdir.png" alt="make new folder-venv project" width="756" height="241" srcset="https://cybogeek.com/wp-content/uploads/2026/05/venv-mkdir.png 756w, https://cybogeek.com/wp-content/uploads/2026/05/venv-mkdir-300x96.png 300w" sizes="(max-width: 756px) 100vw, 756px" /></p>
<h4 data-section-id="1hk778y" data-start="3923" data-end="3959"><span role="text"><strong data-start="3927" data-end="3959">Why name the folder <code data-start="3949" data-end="3956">.venv</code>?</strong></span></h4>
<p data-start="3961" data-end="4025">A commonly recommended name for virtual environments is <code data-start="4017" data-end="4024">.venv</code>.</p>
<p data-start="4027" data-end="4094">Python’s own tutorial mentions <code data-start="4058" data-end="4065">.venv</code> as a popular choice because:</p>
<ul data-start="4095" data-end="4197">
<li data-section-id="rrruw8" data-start="4095" data-end="4120">It stays out of the way</li>
<li data-section-id="1df6yvx" data-start="4121" data-end="4160">It avoids confusion with <code data-start="4148" data-end="4154">.env</code> files</li>
<li data-section-id="tls3wn" data-start="4161" data-end="4197">Many tools automatically detect it</li>
</ul>
<p data-start="4199" data-end="4240">Using <code data-start="4205" data-end="4212">.venv</code> is a clean, modern default.</p>
<hr data-start="4242" data-end="4245" />
<h3 data-section-id="iz1fdi" data-start="4247" data-end="4292"><span role="text"><strong data-start="4250" data-end="4292">Step 2: Create the Virtual Environment</strong></span></h3>
<p data-start="4294" data-end="4347">Run the following command inside your project folder:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>python <span class="ͼn">-m</span> venv .venv</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="4383" data-end="4409">This command tells Python:</p>
<ul data-start="4410" data-end="4510">
<li data-section-id="1b95aa7" data-start="4410" data-end="4442">Use the built-in <code data-start="4429" data-end="4435">venv</code> module</li>
<li data-section-id="1axldx5" data-start="4443" data-end="4473">Create a virtual environment</li>
<li data-section-id="1vs3mrg" data-start="4474" data-end="4510">Store it in a folder named <code data-start="4503" data-end="4510">.venv</code></li>
</ul>
<p data-start="4512" data-end="4625">The <strong data-start="4516" data-end="4546">Python Packaging Authority</strong> uses this exact pattern in its examples, making it a widely accepted standard.</p>
<p data-start="4512" data-end="4625"><img decoding="async" class="aligncenter size-full wp-image-464" src="https://cybogeek.com/wp-content/uploads/2026/05/venv-virtualfolder.png" alt="venv initialisation" width="756" height="180" srcset="https://cybogeek.com/wp-content/uploads/2026/05/venv-virtualfolder.png 756w, https://cybogeek.com/wp-content/uploads/2026/05/venv-virtualfolder-300x71.png 300w" sizes="(max-width: 756px) 100vw, 756px" /></p>
<h4 data-section-id="1o673yo" data-start="4627" data-end="4665"><span role="text"><strong data-start="4631" data-end="4665">Alternative command on Windows</strong></span></h4>
<p data-start="4667" data-end="4724">If your system uses the Python launcher, this also works:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>py <span class="ͼn">-m</span> venv .venv</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="4756" data-end="4930">Python’s documentation explains that the virtual environment is created using the Python version that runs the command. That’s why <code data-start="4887" data-end="4903">python -m venv</code> (or <code data-start="4908" data-end="4920">py -m venv</code>) matters.</p>
<hr data-start="4932" data-end="4935" />
<h3 data-section-id="11oxt4a" data-start="4937" data-end="4984"><span role="text"><strong data-start="4940" data-end="4984">Step 3: Activate the Virtual Environment</strong></span></h3>
<p data-start="4986" data-end="5050">Creating the environment is not enough—you must <strong data-start="5034" data-end="5049">activate it</strong>.</p>
<p data-start="5052" data-end="5083">Activation tells your terminal:</p>
<blockquote data-start="5084" data-end="5146">
<p data-start="5086" data-end="5146">“Use the Python inside this project, not the system Python.”</p>
</blockquote>
<h4 data-section-id="g4sm0" data-start="5148" data-end="5186"><span role="text"><strong data-start="5152" data-end="5186">Activation commands on Windows</strong></span></h4>
<p data-start="5188" data-end="5207"><strong data-start="5188" data-end="5207">Command Prompt:</strong></p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>.venv\Scripts\activate.bat</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="5248" data-end="5263"><img decoding="async" class="aligncenter size-full wp-image-465" src="https://cybogeek.com/wp-content/uploads/2026/05/activate-venv.png" alt="activate venv script" width="755" height="202" srcset="https://cybogeek.com/wp-content/uploads/2026/05/activate-venv.png 755w, https://cybogeek.com/wp-content/uploads/2026/05/activate-venv-300x80.png 300w" sizes="(max-width: 755px) 100vw, 755px" /></p>
<p data-start="5248" data-end="5263"><strong data-start="5248" data-end="5263">PowerShell:</strong></p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>.<span class="ͼm">venv</span>\<span class="ͼm">Scripts</span>\<span class="ͼm">Activate</span>.<span class="ͼm">ps1</span></code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="5310" data-end="5393">On Windows, activation scripts live inside the <code data-start="5357" data-end="5366">Scripts</code> folder of the environment.</p>
<h4 data-section-id="agiqxt" data-start="5395" data-end="5429"><span role="text"><strong data-start="5399" data-end="5429">How do you know it worked?</strong></span></h4>
<p data-start="5431" data-end="5492">Once activated, your terminal prompt usually changes to show:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>(.venv)</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="5514" data-end="5559">This means the virtual environment is active.</p>
<p data-start="5514" data-end="5559"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-466" src="https://cybogeek.com/wp-content/uploads/2026/05/active-venv-python.png" alt="active venv in python project" width="757" height="232" srcset="https://cybogeek.com/wp-content/uploads/2026/05/active-venv-python.png 757w, https://cybogeek.com/wp-content/uploads/2026/05/active-venv-python-300x92.png 300w" sizes="(max-width: 757px) 100vw, 757px" /></p>
<hr data-start="5561" data-end="5564" />
<h3 data-section-id="1do90oo" data-start="5566" data-end="5622"><span role="text"><strong data-start="5569" data-end="5622">Step 4: Verify the Virtual Environment Is Working</strong></span></h3>
<p data-start="5624" data-end="5683">Now confirm that your terminal is using the correct Python.</p>
<p data-start="5685" data-end="5689">Run:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>python <span class="ͼn">--version</span></code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="5720" data-end="5747"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-467" src="https://cybogeek.com/wp-content/uploads/2026/05/verify-python-version-venv.png" alt="verify python version inside venv" width="755" height="221" srcset="https://cybogeek.com/wp-content/uploads/2026/05/verify-python-version-venv.png 755w, https://cybogeek.com/wp-content/uploads/2026/05/verify-python-version-venv-300x88.png 300w" sizes="(max-width: 755px) 100vw, 755px" /></p>
<p data-start="5720" data-end="5747">Then check the Python path:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>where python</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="5774" data-end="5847">While the environment is active, the path should point to something like:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>...\myproject\.venv\Scripts\python.exe</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="5900" data-end="6029">The packaging guide explains that this confirms Python is being loaded from the virtual environment, not the global installation.</p>
<hr data-start="6031" data-end="6034" />
<h3 data-section-id="so0wf8" data-start="6036" data-end="6097"><span role="text"><strong data-start="6039" data-end="6097">Step 5: Install Packages Safely Inside the Environment</strong></span></h3>
<p data-start="6099" data-end="6202">Once the environment is active, any package you install with <code data-start="6160" data-end="6165">pip</code> goes <strong data-start="6171" data-end="6201">only into that environment</strong>.</p>
<p data-start="6204" data-end="6212">Example:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>pip install requests</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="6247" data-end="6308">Now the <code data-start="6255" data-end="6265">requests</code> library is available to this project only.</p>
<p data-start="6310" data-end="6359">This is the main benefit of virtual environments:</p>
<ul data-start="6360" data-end="6438">
<li data-section-id="1snkpx0" data-start="6360" data-end="6381">No global pollution</li>
<li data-section-id="6p8ecy" data-start="6382" data-end="6407">No accidental conflicts</li>
<li data-section-id="b89heu" data-start="6408" data-end="6438">Cleaner project dependencies</li>
</ul>
<p data-start="6440" data-end="6535">If you deactivate the environment and open another project, that package will not appear there.</p>
<hr data-start="6537" data-end="6540" />
<h3 data-section-id="3lpbam" data-start="6542" data-end="6591"><span role="text"><strong data-start="6545" data-end="6591">Step 6: Deactivate the Virtual Environment</strong></span></h3>
<p data-start="6593" data-end="6659">When you are done working, you can exit the environment by typing:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>deactivate</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="6685" data-end="6740">This returns your terminal to the normal system Python.</p>
<p data-start="6685" data-end="6740"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-468" src="https://cybogeek.com/wp-content/uploads/2026/05/deactivate-venv-python.png" alt="deactivate venv " width="756" height="296" srcset="https://cybogeek.com/wp-content/uploads/2026/05/deactivate-venv-python.png 756w, https://cybogeek.com/wp-content/uploads/2026/05/deactivate-venv-python-300x117.png 300w" sizes="(max-width: 756px) 100vw, 756px" /></p>
<p data-start="6742" data-end="6767">The standard workflow is:</p>
<ol data-start="6768" data-end="6859">
<li data-section-id="10l7jyq" data-start="6768" data-end="6793">Create the environment</li>
<li data-section-id="tpm0il" data-start="6794" data-end="6808">Activate it</li>
<li data-section-id="vs6vbo" data-start="6809" data-end="6831">Work on the project</li>
<li data-section-id="3npn0h" data-start="6832" data-end="6859">Deactivate when finished</li>
</ol>
<p data-start="6861" data-end="6907">This cycle becomes second nature very quickly.</p>
<hr data-start="6909" data-end="6912" />
<h3 data-section-id="1u8etyj" data-start="6914" data-end="6958"><span role="text"><strong data-start="6917" data-end="6958">Using Virtual Environments in VS Code</strong></span></h3>
<p data-start="6960" data-end="7054">If you use <strong data-start="6971" data-end="7012"><span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Visual Studio Code</span></span></strong>, virtual environments integrate smoothly.</p>
<p data-start="7056" data-end="7062">Steps:</p>
<ol data-start="7063" data-end="7210">
<li data-section-id="1af6tmj" data-start="7063" data-end="7100">Open the project folder in VS Code</li>
<li data-section-id="1kt00ha" data-start="7101" data-end="7128">Open the command palette</li>
<li data-section-id="hhrnw6" data-start="7129" data-end="7169">Select <strong data-start="7139" data-end="7169">Python: Select Interpreter</strong></li>
<li data-section-id="uvs1xe" data-start="7170" data-end="7210">Choose the interpreter inside <code data-start="7203" data-end="7210">.venv</code></li>
</ol>
<p data-start="7212" data-end="7349">According to guides from <strong data-start="7237" data-end="7278"><span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Real Python</span></span></strong>, VS Code can automatically detect environments and display paths like:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>.venv\Scripts\python</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="7385" data-end="7399">Once selected:</p>
<ul data-start="7400" data-end="7494">
<li data-section-id="1lnk0am" data-start="7400" data-end="7435">VS Code uses the correct packages</li>
<li data-section-id="bl0kyi" data-start="7436" data-end="7460">Linting works properly</li>
<li data-section-id="d5avgj" data-start="7461" data-end="7494">Debugging becomes more reliable</li>
</ul>
<hr data-start="7496" data-end="7499" />
<h3 data-section-id="1yv347s" data-start="7501" data-end="7538"><span role="text"><strong data-start="7504" data-end="7538">Common Mistakes Beginners Make</strong></span></h3>
<p data-start="7540" data-end="7604">Most virtual environment issues come from a few simple mistakes:</p>
<ul data-start="7606" data-end="7889">
<li data-section-id="1yhqnre" data-start="7606" data-end="7659">Creating the environment outside the project folder</li>
<li data-section-id="18o2qjy" data-start="7660" data-end="7727">Forgetting to activate the environment before installing packages</li>
<li data-section-id="13v7o6f" data-start="7728" data-end="7764">Using the wrong activation command</li>
<li data-section-id="gm1e7q" data-start="7765" data-end="7807">Installing packages globally by accident</li>
<li data-section-id="vps25v" data-start="7808" data-end="7861">Deleting <code data-start="7819" data-end="7826">.venv</code> without understanding what it does</li>
<li data-section-id="1miusbt" data-start="7862" data-end="7889">Committing <code data-start="7875" data-end="7882">.venv</code> to Git</li>
</ul>
<p data-start="7891" data-end="8002">The Python Packaging Authority specifically recommends <strong data-start="7946" data-end="8001">excluding virtual environments from version control</strong>.</p>
<p data-start="8004" data-end="8029">Add this to <code data-start="8016" data-end="8028">.gitignore</code>:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>.venv/</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<hr data-start="8050" data-end="8053" />
<h3 data-section-id="15jq8w0" data-start="8055" data-end="8095"><span role="text"><strong data-start="8058" data-end="8095">Should You Use <code data-start="8075" data-end="8082">.venv</code> or <code data-start="8086" data-end="8092">venv</code>?</strong></span></h3>
<p data-start="8097" data-end="8153">Both names work, but <code data-start="8118" data-end="8125">.venv</code> is often the better choice.</p>
<p data-start="8155" data-end="8186">Reasons <code data-start="8163" data-end="8170">.venv</code> is recommended:</p>
<ul data-start="8187" data-end="8309">
<li data-section-id="1arlx8m" data-start="8187" data-end="8219">Mentioned in Python’s tutorial</li>
<li data-section-id="rk8azk" data-start="8220" data-end="8251">Hidden in many file explorers</li>
<li data-section-id="8uo22d" data-start="8252" data-end="8282">Avoids confusion with <code data-start="8276" data-end="8282">.env</code></li>
<li data-section-id="1djj9r7" data-start="8283" data-end="8309">Recognized by many tools</li>
</ul>
<p data-start="8311" data-end="8378">If you are just starting out, <code data-start="8341" data-end="8348">.venv</code> is a safe and modern default.</p>
<hr data-start="8380" data-end="8383" />
<h3 data-section-id="fl3yt6" data-start="8385" data-end="8422"><span role="text"><strong data-start="8388" data-end="8422">Quick Example: Start to Finish</strong></span></h3>
<p data-start="8424" data-end="8455">Here’s the full basic workflow:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code><span class="ͼl">mkdir</span> myproject
<span class="ͼl">cd</span> myproject
python <span class="ͼn">-m</span> venv .venv
.venv\Scripts\activate.bat
pip install requests
python <span class="ͼn">--version</span>
deactivate</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="8596" data-end="8610">This sequence:</p>
<ul data-start="8611" data-end="8740">
<li data-section-id="19pitl7" data-start="8611" data-end="8630">Creates a project</li>
<li data-section-id="aj91ai" data-start="8631" data-end="8662">Creates a virtual environment</li>
<li data-section-id="h6e3pb" data-start="8663" data-end="8677">Activates it</li>
<li data-section-id="15no3nl" data-start="8678" data-end="8698">Installs a package</li>
<li data-section-id="16b1l9p" data-start="8699" data-end="8716">Verifies Python</li>
<li data-section-id="1z0xqzb" data-start="8717" data-end="8740">Exits the environment</li>
</ul>
<p data-start="8742" data-end="8813">This matches the workflow described in official Python and PyPA guides.</p>
<hr data-start="8815" data-end="8818" />
<h4 data-section-id="15mienb" data-start="8820" data-end="8841"><span role="text"><strong data-start="8823" data-end="8841">Final Thoughts</strong></span></h4>
<p data-start="8843" data-end="8958">Creating a virtual environment in Python is one of the <strong data-start="8898" data-end="8935">simplest and most valuable habits</strong> you can develop early.</p>
<p data-start="8960" data-end="9102">It keeps projects isolated, avoids dependency conflicts, and makes your development workflow cleaner and more professional—even as a beginner.</p>
<p data-start="9104" data-end="9242">This is not an advanced trick. It is a <strong data-start="9143" data-end="9169">basic foundation skill</strong> that will save you time, confusion, and frustration as you learn Python.</p>
<p data-start="9244" data-end="9265">Once you get used to:</p>
<div class="relative w-full mt-4 mb-1">
<div class="">
<div class="relative">
<div class="h-full min-h-0 min-w-0">
<div class="h-full min-h-0 min-w-0">
<div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl">
<div class="h-full w-full border-radius-3xl bg-token-bg-elevated-secondary corner-superellipse/1.1 overflow-clip rounded-3xl lxnfua_clipPathFallback">
<div class="relative">
<div class="pe-11 pt-3">
<div class="relative z-0 flex max-w-full">
<div id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr">
<div class="cm-scroller">
<pre class="cm-content q9tKkq_readonly m-0"><code>python -m venv .venv</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p data-start="9299" data-end="9361">project setup becomes faster, cleaner, and far less stressful.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 

Served from: cybogeek.com @ 2026-05-10 06:49:01 by W3 Total Cache
-->