I propose to consider the process of installing and configuring a Django project on Mac OS X based on an existing project.
- This article will help you to set up a Python virtual environment on Mac OS or your Macbook.If you are a Mac user, you should know that Python 2.7.x comes pre-installed in your Macbook, but as that is required by your operating system, so you cannot modify it or update it and I would recommend that you don't use it at all.
- 𝐅𝐨𝐥𝐥𝐨𝐰 𝐌𝐲 𝐒𝐨𝐜𝐢𝐚𝐥 𝐏𝐫𝐨𝐟𝐢𝐥𝐞FACEBOOK↱ https://www.facebook.com/Albert-Joseph-774420/TWITTER.
- Virtualenv is a tool that lets you create an isolated Python environment for your project. It creates an environment that has its own installation directories, that doesn’t share dependencies with other virtualenv environments (and optionally doesn’t access the globally installed dependencies either).
Some steps will be similar to those already performed in the Django setup article for Ubuntu .
Install Apache and modwsgi ¶. If you just want to experiment with Django, skip ahead to the next section; Django includes a lightweight web server you can use for testing, so you won’t need to set up Apache until you’re ready to deploy Django in production.
Setting up a virtual environment
- Intall python 3
- Install pip
- Install virtualenv to create virtual environments
- Setting up a virtual environment for a project
- Go to the directory of the virtual environment of the project and clone the repository.
- We also clone submodules if your project uses git submodule
- I hope that you are using the requirements.txt file, because the time has come to install all the necessary packages in the project
Install the required version of Python
If you need a specific version of python, for example, if the repositories of your production server do not have the latest version, you need to configure your Mac OS X specifically to work with the required version.
Mac Os Download
If you cannot install python and the following error occurs
then create a file .zshrc with the following contents
Next, perform the remaining actions.
Check available versions of python
Setup the required version of python
Check the version of python that is now used on your Mac OS X.
After that, you will need to repeat all the steps from the settings of the virtual environment, starting with step 4, if you have already installed virtualenv. Or completely repeat all those steps.
Install and configure PostgreSQL
- Uninstalling a previous version of Postgres
- Delete all Postgres files
- Installing Postgres using Homebrew
- Installing PostGIS using Homebrew
- Start PostgreSQL server. You may need to run this command every time you develop a site.
- Creating a project database. Many of these steps were covered in the very first article on setting up Django on a computer running OS
Install and configure Nginx
I use Nginx to distribute static content, so we will also install Nginx on the development machine.
Nginx configuration setup
At this step you need to configure the Nginx server. For what you need to edit the nginx.conf file, as well as create the settings file of your server in the servers directory.
Delete the contents of the file and add the following information..
Next, create a file myproject
And add content that will look like this.
Then restart the server Nginx
And then we do not forget to complete the migration of the database, the collection of static files through collectstatic and other procedures required in your project.
For Django, I recommend Timeweb VDS-server .
This chapter covers how to properly configure your computer to work on Django projects. We start with an overview of the command line and how to install the latest version of Django and Python. Then we discuss virtual environments, git, and working with a text editor. By the end of this chapter you’ll be ready to create and modify new Django projects in just a few keystrokes.
The Command Line
The command line is a powerful, text-only view of your computer. As developers we will use it extensively throughout this book to install and configure each Django project.
On a Mac, the command line is found in a program called Terminal. To find it, open a new Finder window, open the Applications directory, scroll down to open the Utilities directory, and double-click the application called Terminal.
Install Django In Mac Os
On Windows machines there are actually two built-in command shells: the Command shell and PowerShell. You should use PowerShell, which is the more powerful of the two.
Going forward when the book refers to the “command line” it means to open a new console on your computer, using either Terminal or PowerShell.
While there are many possible commands we can use, in practice there are six used most frequently in Django development:
cd(change down a directory)
cd ..(change up a directory)
ls(list files in your current directory on Mac)
dir(list files in your current directory on Windows)
pwd(print working directory)
touch(create a new file on Mac)
Open your command line and try them out. The dollar sign (
$) is our command line prompt: all commands in this book are intended to be typed after the
For example, assuming you’re on a Mac, let’s change into our Desktop directory.
Note that our current location,
~/Desktop, is automatically added before our command line prompt. To confirm we’re in the proper location we can use
pwd which will print out the path of our current directory.
On my Mac computer this shows that I’m using the user
wsv and on the
desktop for that account.
Now let’s create a new directory with
cd into it, and add a new file
index.html with the
touch command. Note that Windows machines unfortunately do not support a native
touch command. In future chapters when instructed to create a new file, do so within your text editor of choice.
ls to list all current files in our directory. You’ll see there’s just the newly created
As a final step, return to the Desktop directory with
cd .. and use
pwd to confirm the location.
Advanced developers can use their keyboard and command line to navigate through their computer with ease. With practice this approach is much faster than using a mouse.
In this book I’ll give you the exact instructions to run–you don’t need to be an expert on the command line–but over time it’s a good skill for any professional software developer to develop. A good free resource for further study is the Command Line Crash Course.
Install Python 3
It takes some configuration to properly install Python 3 on a Mac, Windows, Linux, or Chromebook computer and there are multiple approaches. Many developers–especially beginners–follow the advice on the official Python website to download distinct versions of Python directly onto their computer and then adjust the PATH variable accordingly.
The problem with this approach is that updating the PATH variable correctly is tricky, by downloading Python directly updates are harder to maintain, and there are now much easier ways to install and start using Python quickly.
I host a dedicated website, InstallPython3.com, with up-to-date guides for installing Python 3 on Mac, Windows, or Linux computers. Please refer there to install Python correctly on your local machine.
Virtual environments are an indispensable part of Python programming. They are an isolated container containing all the software dependencies for a given project. This is important because by default software like Python and Django is installed in the same directory. This causes a problem when you want to work on multiple projects on the same computer. What if ProjectA uses Django 3.1 but ProjectB from last year is still on Django 2.2? Without virtual environments this becomes very difficult; with virtual environments it’s no problem at all.
There are many areas of software development that are hotly debated, but using virtual environments for Python development is not one. You should use a dedicated virtual environment for each new Python project.
In this book we will use Pipenv to manage virtual environments. Pipenv is similar to
Pipfile containing software dependencies and a
Pipfile.lock for ensuring deterministic builds. “Determinism” means that each and every time you download the software in a new virtual environment, you will have exactly the same configuration.
Pipenv for each new Django Project.
Pipenv we can use
pip3 which Homebrew automatically installed for us alongside Python 3.
Install Django Mac Os 11
Pipenv in action, let’s create a new directory and install Django. First navigate to the Desktop, create a new directory
django, and enter it with
Now use Pipenv to install Django. Note the use of
~= which will ensure security updates for Django, such as 3.1.1, 3.1.2, and so on.
If you look within our directory there are now two new files:
Pipfile.lock. We have the information we need for a new virtual environment but we have not activated it yet. Let’s do that with
If you are on a Mac you should now see parentheses around the name of your current directory on your command line which indicates the virtual environment is activated. Since we’re in a
django directory that means we should see
(django) at the beginning of the command line prompt. Windows users will not see the shell prompt. If you can run
django-admin startproject in the next section then you know your virtual environment has Django installed properly.
This means it’s working! Create a new Django project called
config with the following command. Don’t forget that period
. at the end.
It’s worth pausing here to explain why you should add a period (
.) to the command. If you just run
django-admin startproject config then by default Django will create this directory structure:
See how it creates a new directory
config and then within it a
manage.py file and a
config directory? That feels redundant to me since we already created and navigated into a
django directory on our Desktop. By running
django-admin startproject config . with the period at the end–which says, install in the current directory–the result is instead this:
The takeaway is that it doesn’t really matter if you include the period or not at the end of the command, but I prefer to include the period and so that’s how we’ll do it in this book.
As you progress in your journey learning Django, you’ll start to bump up more and more into similar situations where there are different opinions within the Django community on the correct best practice. Django is eminently customizable, which is a great strength, however the tradeoff is that this flexibility comes at the cost of seeming complexity. Generally speaking it’s a good idea to research any such issues that arise, make a decision, and then stick with it!
Now let’s confirm everything is working by running Django’s local web server.
Don’t worry about the text in red about “18 unapplied migrations.” We’ll get to that shortly but the important part, for now, is to visit
http://127.0.0.1:8000/ and make sure the following image is visible:
To stop our local server type
Control+c. Then exit our virtual environment using the command
We can always reactivate the virtual environment again using
pipenv shell at any time.
We’ll get lots of practice with virtual environments in this book so don’t worry if it’s a little confusing right now. The basic pattern is to install new packages with
pipenv, activate them with
pipenv shell, and then
exit when done.
It’s worth noting that only one virtual environment can be active in a command line tab at a time. In future chapters we will be creating a brand new virtual environment for each new project so either make sure to
exit your current environment or open up a new tab for new projects.
Git is an indispensable part of modern software development. It is a version control system which can be thought of as an extremely powerful version of track changes in Microsoft Word or Google Docs. With git, you can collaborate with other developers, track all your work via commits, and revert to any previous version of your code even if you accidentally delete something important!
On a Mac, because HomeBrew is already installed we can simply type
brew install git on the command line:
On Windows you should download Git from Git for Windows. Click the “Download” button and follow the prompts for installation.
Once installed, we need to do a one-time system set up to configure it by declaring the name and email address you want associated with all your Git commits. Within the command line console type the following two lines. Make sure to update them your name and email address.
You can always change these configs later if you desire by retyping the same commands with a new name or email address.
The final step is our text editor. While the command line is where we execute commands for our programs, a text editor is where the actual code is written. The computer doesn’t care what text editor you use–the end result is just code–but a good text editor can provide helpful hints and catch typos for you.
Experienced developers often prefer using either Vim or Emacs, both decades-old, text-only editors with loyal followings. However each has a steep learning curve and requires memorizing many different keystroke combinations. I don’t recommend them for newcomers.
Modern text editors combine the same powerful features with an appealing visual interface. My current favorite is Visual Studio Code which is free, easy to install, and enjoys widespread popularity. If you’re not already using a text editor, download and install Visual Studio Code now.
Phew! Nobody really likes configuring a local development environment but fortunately it’s a one-time pain. We have now learned how to work with virtual environments and installed the latest version of Python and git. Everything is ready for our first Django app.
Mac Os Download For Windows
Continue on to Chapter 2: Hello World app.