How To Setup A Python Virtual Environment On Windows 10

Reading Time: 4 minutes

A Virtual Environment or a “venv” is a Python module that creates a unique environment for each task or project. It installs the packages we need that are unique to that setting while keeping your projects neatly organized. Additionally, venv never actually modifies the system’s default Python versions or modules that are installed on the system. Using venv essentially allows for a unique working environment while avoiding any disruptions to other variants of Python that are used, but not related to our project.

Prerequisites

We recommend enabling the Windows Subsystem for Linux (WSL) in order to take full advantage of all the functionality of venv on Windows 10. This allows you to run a full Linux distribution within Windows to aid in the functionality of the new dev environment.

Why should I use WSL?

  • Many of the tutorials for Python are written for Linux environments. 
  • Most devs use Linux based packaging/installation tools.
  • Using WSL ensures compatibility between development and production environments

How do I enable WSL?

  • Go to Start > then search for “Turn Windows features on or off.”
  • Click the link to open the Windows control panel. 
  • Next, open the Windows features pop-up menu. 
  • Scroll down in that list to locate the “Windows Subsystem for Linux” option and select the checkbox.
  • Reboot.
Note:
WSL will require you to download a version of Linux noted here.If you’re using Windows (without WSL), simply install Python 3 from the Python website. The venv module is incorporated into that Windows installation.

Install Linux

There are multiple Linux distros that work with WSL. You can locate and install them from the Microsoft Store. We recommend starting off with a Ubuntu 18.04 LTS distribution as it’s up to date, has an excellent support community, and is well documented.

  • To install Ubuntu, click this Ubuntu 18.04 LTS link. This will open the Microsoft store where you can click on the Get button.
  • Once the download has completed, type “Ubuntu 18.04 LTS” into your Start menu.
  • Next, you’ll be asked to create a username and password as it will be your first time using this OS.
  • Subsequently, you will now be signed in automatically as the default user.
  • Lastly, we’ll need to run an update on the new OS. You can accomplish this by running:
sudo apt update && sudo apt upgrade

As a side note, Windows does not handle upgrades for this OS so you will need to ensure Ubuntu stays up to date by running the update and upgrade commands manually.

Note:
If for some reason the Microsoft store app is unavailable to you, you can manually download and install a Linux distribution by clicking on one of these links:

You can then install your distro using PowerShell. To install one of those distros, navigate to the folder which contains the newly downloaded Linux distributions. Once in that folder, run the following command in PowerShell (where app_name.aspx is the name of the distribution file):

Add-AppxPackage .\app_name.appx

Next, we’ll add the path to the distro into your Windows environment PATH using Powershell (eg. C:\Users\Admin\Ubuntu)

$userenv = [System.Environment]::GetEnvironmentVariable("Path", "User")

[System.Environment]::SetEnvironmentVariable("PATH", $userenv + ";C:\Users\Admin\Ubuntu", "User")

Now, we can start the distro by typing in uubuntu.exe. Next, we should initialize the new instance.

Launch a distro

To finish the initialization of your newly installed distro, we will need to launch a new instance. You can accomplish this by clicking on the “launch” button in the Microsoft app store, or by launching the distro’s .exe file from the Start menu. Additionally, if using a Windows Server, you can start the distro’s launcher’s executable file (Ubuntu.exe) from the distro’s installation folder.

During the last stage of the installation, the distro’s files will be decompressed and stored locally on your PC. This process may take a few minutes but is only required once. Later initializations should take less than a second.

Setup

There are four basic steps to install a virtual environment on windows:

  1. Install Python
  2. Install Pip
  3. Install VirtualEnv
  4. Install VirtualEnvWrapper-win
Note:
Remember, these commands should be run within the WSL Ubuntu environment. Additionally, the sudo command may be needed if not running as the root user.

Step 1. Install Python 

Python 3.8.0 is the latest major release of Python.

  • Note: There is now a “web-based” installer for Windows. This installer will download the required software during the installation.
  • There are also Python redistributable files that contain the Windows builds, which makes it easier to include Python in another software bundle. 
  • If you installed Ubuntu 18.04 from the above list, Python3 comes pre-installed.
which python

Step 2. Install PIP

We suggest following the directions located here in our knowledge base. Python3 usually comes with pip preinstalled, however, if you get the error “pip command not found,” simply use the following method to install pip. 

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
  • Download get-pip.py, and make sure you’re saving the file to your Desktop. 
  • At your Windows Command Prompt, navigate to your Desktop and run the get-pip.py script. After that, pip should work system-wide 
python3 get-pip.py
Note:
You may need to have administrative privileges at the command prompt to accomplish this task. For more info on this, follow the directions from Start a Command Prompt as an Administrator from the Microsoft TechNet website.
cd Desktop
Python get-pip.py

Step 3. Install Virtualenv 

In your Windows command shell prompt type in:

pip install virtualenv

Start virtualenv 

In your windows command prompt, head to your project location: 

cd my_project

 Once inside the project folder run: 

virtualenv env

Activate virtualenv 

On Windows, virtualenv (venv) creates a batch file called 

\env\Scripts\activate.bat

To activate virtualenv on Windows, and activate the script is in the Scripts folder :

\pathto\env\Scripts\activate

Example: 

C:\Users\'Username'\venv\Scripts\activate.bat

Step 4. Install VirtualEnvWrapper-win

 There are two main methods we recommend to install this batch script.

  • Using pip

pip install virtualenvwrapper-win
  • Install from source
git clone git://github.com/davidmarble/virtualenvwrapper-win.git

We then cd to the virtualenvwrapper-win folder and run: 

python setup.py install  

And that’s it! Python’s venv is set up and ready to use. 

Grab Your FREE Coupon Today!

Check out all the specials we have going on right now where you can save HUGE on our Dedicated, Cloud Dedicated as well as our VPS Servers! Additionally, check out the coupon below for even greater savings!!!

How to Edit Your Hosts File in Windows 10

Reading Time: < 1 minuteEditing your \etc\hosts file is a common task for troubleshooting issues or for developing a site that you aren’t quite ready to launch.  By editing this file, you’ll be able to bypass DNS to view a site at a declared IP address.

In Windows 10, your hosts’ file is located at: C:\Windows\System32\drivers\etc\hosts. You will need to edit the file with administrative privileges.

  1. Click the Windows button and type Notepad in the search bar.
  2. Right click on Notepad and then Run as Administrator.
  3. You’ll be asked, “Do you want to allow this app to make changes to your device?”.
    Choose Yes.
  4. In Notepad, choose File then Open
  5. Navigate to C:\Windows\System32\drivers\etc\hosts or click the address bar at the top and paste in the path and choose Enter.  If you don’t readily see the host file in the /etc directory then select All files from the File name: drop-down list, then click on the hosts file.
  6. Add the appropriate IP and hostname at the end of your hosts’ file, select save and close the file.
  7. Finally, you will want to flush your DNS cache for your computer to recognize changes to the file. Click the Windows button and search command prompt.
  8. Right-click on Notepad and then Run as Administrator.
  9. You’ll be asked, “Do you want to allow this app to make changes to your device?”.
    Choose Yes.
  10. Type the following command in the terminal and press Enter

ipconfig /flushdns

How to Revert a Windows Update

Reading Time: 2 minutesWindows periodically checks for the latest updates and security features for your devices. Automatic updates are implemented with the intention of running your device smoothly and securely. With top security in mind, most Liquid Web servers are set to automatically install these updates thus saving you the task of remembering to implement critical updates or patches.

The vast majority of the times, windows updates complete successfully, keeping you and your customers safe.  These updates rarely cause any server issues, but you may find that you want to roll back an update due to an unforeseen server change.  Fear not, in this tutorial we’ll show you how to easily undo a Windows update on 2016, 2008R2 and 2012R2 servers.

Note
Liquid Web customers have the option to install automatic updates themselves. In these cases, security patches are updates fall under the responsibility of the account owner.

 

Server 2016 with Windows 10

  1. Click on the Start button, search for Windows Update and hit Enter.
  2. Go to View Update History and select Uninstall Updates.  Click the update you are wanting to uninstall/remove. (Generally, these are the most recent installs.)
  3. When the installed update window comes up, you can see the updates by name, KB number, type of program, version, and even the date of installation.
  4. Select the update and choose Uninstall.  Follow the on screen instructions.
  5. Depending on the update, there may be a need to reboot the server to complete removal.
  6. While you are still in the Windows Update screen, select the offending update and click Hide Update.  ** Once the Update is fixed and it is safe to install, then you can go in and manually install it on your system.

Complete the removal of the update by rebooting the server.

 

Server 2008R2 and 2012R2 with Windows 7/8

  1.           Go to the Start button and select Control Panel.
  2.           Go to Programs >> Uninstall a program.
  3.           Select the program and right-click to Uninstall.
  4.          Select the update you would like to revert.
  5.           Select Yes to uninstall the selected update.
  6.           Select the Restart Now button.
  7.           While you are still in the Updates screen, select the offending update and right-click, to select Hide Update.  ** To re-instate the update you can manually install it on your system.

Complete the removal of the update by rebooting the server.

Still having issues with reverting a Windows update? Liquid Web customers enjoy 24/7 support with our Managed Dedicated and VPS servers. Find out today why we are the most loved in hosting!

 

Remote Desktop Troubleshooting

Reading Time: 6 minutesRemote Desktop Protocol (or RDP) is the most common method of gaining administrative access to a Windows server. RDP is available on all versions of Windows server and a client (called Remote Desktop Connection) is included with all versions of Windows desktop operating systems. Clients are also available for Macintosh operating systems from Microsoft in the iTunes store and for Linux desktops with applications like FreeRDP. Connecting to your server via RDP allows you full control of the server desktop environment, just as if you were sitting in front of the server’s monitor and keyboard. Depending on your permissions and settings, you can copy and delete files, change file permissions or settings, and even print documents from the server.

Pre-Flight Check

Using Remote Desktop Protocol to manage a Windows server generally requires a few basic settings and information about the server.

  • First, the Remote Desktop Service must be running on the server to which you would like to connect (RDP uses port 3389 by default).
  • Second, you need to know the IP address of the server.  
  • Third, you must have a username and password that is allowed to connect to the server remotely (often, this is the primary administrator account, but can also be a secondary account set up specifically for remote access purposes).
  • Finally, the Windows firewall (and any other hardware or software firewalls) needs to be configured to allow Remote Connections from your location.

 

Once you have all of the correct settings enabled, IP address and user account details, you can connect RDP to your server! Just launch the RDP client, enter the IP address of the server and the user credentials, and log in to the server using what looks like the standard Windows desktop environment.

Image of Remote Desktop Connection

As helpful as the Remote Desktop Protocol can be when it comes to managing your Windows server, there are also times when the connection fails, which can be very frustrating as the error message is generally not very helpful (often just the window shown below).         

RDP Connection Error Pop Up

 

The error shown above means that for some reason, your client was unable to make a connection to the Windows server via the Remote Desktop Protocol. When you are experiencing connectivity issues, there are many items that you can check to try to resolve the problem.

 

  1. Ensure you can reach the server via ICMP (or Ping). Most desktop operating systems will allow you to send small bits of information to the computer to verify connectivity and connection speeds. Generally, you just need to open a terminal window (on a Windows desktop, press the Window key, then type cmd and press enter) and enter the following command: ping IP or ping domain.tld. Normally, you’ll receive an output that is similar:Ping Results
  2. This output shows the pings were successful to the destination and took between 50 ms and 150 ms to complete. These pings indicate a successful connection to the server as desired (at least over ICMP). If the output for the command shows a failure to respond, we know there is some network interference.
  3. If the ping test fails (indicated by repeating asterisks), check your internet connectivity to guarantee that you can reach other resources on the internet. If not, you may need to contact your local service provider to restore your internet access.
  4. Reaching other internet sites but not your server indicates your server is refusing connections from your IP address (due to security software or firewall settings). You may need to contact your hosting company to verify there is not an IP address blocked by your server. You can find your current public IP address by going to https://ip.liquidweb.com.
  5. Can you ping your server, but still can’t connect over RDP? It is likely an issue with the RDP service or your firewall. You’ll need to contact your hosting company to get assistance with the service or firewall.

Firewall Issues

Best practices in configuring a firewall is to allow the least amount of access necessary for the various connections to the server. Limiting the connections to a particular service like RDP is called “scoping” the access for that service. If your configured Windows firewall scopes traffic on RDP, it’s possible that a user may not be able to connect due to their IP address not being included in the rule. Access to the server via RDP from one user but another user is not, check the firewall; their IP address may not be included in the allowed list of IPs for Remote Desktop Access.

  1. Log in to the server, click on the Windows icon, and type Windows Firewall into the search bar.Firewall Settings
  2. Click on Windows Firewall with Advanced Security.
  3. Click on Inbound Rules
  4. Scroll down to find a rule labeled RDP (or using port 3389).
  5. Double-click on the rule, then click the Scope tab.Scope Tab
  6. Make sure the user’s current IP address is included in the list of allowed Remote IPs.

If you are unable to connect to the server from your location, contact your hosting company for help in checking the firewall rule for RDP access.

User Connectivity Problems

Can you connect to RDP using the administrator account, but one or more of the other accounts cannot? There may be a problem with the user account permissions.

  1. Make certain the user is a member of the Remote Desktop Users group. Log in to the server with the administrator account, then go to the Local Users and Groups control panel (Open Administrative Tools, then open Computer Management).Local Users and Groups
  2. Navigate to the Remote Desktop Users group and verify that the user is a member of the group. If they are not a member of the group, add them as a member of the group.
    remote desktop users group
  3. Go to the username under the Users tab. Make sure that the user account is not locked out. Accounts can get locked out due to too many attempts to log in with an incorrect password (either by the user or by a brute force attack on the server).
    account lockout screen
  4. Double check the firewall for the IP address of the user and add to the scope of the RDP rule.

No Available Connections/Sessions

By default, Windows server only allows two users to connect via RDP simultaneously. If both sessions are already in use, you will receive an error indicating that no additional users are allowed to connect at this time. Too Many Users Error

To resolve this issue, you will need to wait until one of the other users logs out or you’ll require to purchase additional RDP user licenses from your hosting provider (assuming that you regularly need access for more than two users at a time).

Failed login attempts during a brute force attack can sometimes take up RDP licenses, even though the session isn’t connecting. If you are experiencing unavailable sessions even when no one is logged in to the server, it’s possibly the result of a malicious login. The best remedy for this situation is to scope the firewall rule to prevent access attempts from unauthorized IP addresses.

Data Encryption Errors

If you are using an out of date Remote Desktop Client or are connecting to an older Windows server, you may receive an error that there is a problem with the TLS settings for the connection. Generally, you can resolve this issue by updating your RDP client software on your workstation. It may also be possible to set the client to ignore these errors, but that could leave your workstation and your server vulnerable to malicious attacks.

Sudden Disconnection

If you are using RDP and suddenly lose the connection, the issue is almost always related to your internet connection. Check to make sure that you can stay connected to other services (like running a ping command in the background). If you are not losing internet connectivity, it’s possible that the server is running out of memory or the RDP service may be experiencing an active attacked in a brute force attack. If you’ve confirmed that your internet connection is stable, contact your hosting company to make sure that the server is not the cause of the lost connection.

Slow Connection Issues

If the connection between your location and your server is slow your Remote Desktop Session may not function as smoothly as you would like. However, you may be able to adjust the Desktop Environment settings of the connection before you connect to simplify and speed up the connection.

  1. Open the Remote Desktop Client application (these directions are for the Windows built-in client, but most RDP clients have similar settings available).
  2. Click on the Experience tab to see the various items you can choose to enable or disable to improve your connection speeds. Change the drop-down to select a specific connection speed or select/deselect the various items to optimize performance.Remote Desktop Connection Settings

         

Windows 10 Update Issues

Oddly enough, Microsoft updates often cause problems with RDP connectivity. As recent as April 2018, an update on both the server operating system and the Windows 10 desktop operating system caused connectivity issues for many users. Generally, the best policy is to update both the server and workstation, as connectivity issues most often arise when the two systems are not on the same update cycle. You may be able to resolve a new connectivity issue by removing a recent Windows update (either on the server or the desktop). Many users also reported that disabling the Printer option from the local resources setting resolved the most recent connectivity issue.         

Local Resources

 

While RDP is a great tool for managing your Windows server, connectivity issues can be frustrating. By working through the possible causes of the connection problem, you will generally be able to get reconnected and working again in no time!