Installing python packages in a custom dir - django

I installed "django-openid-auth" and it copied the egg to the django installation directory. I would like my installations to happen in a "plugins" directory within the django app. How would I do this? I checked options under python setup.py --help but couldn't find anything. Can I just copy everything from the site-packages folder into the plugins folder?

"Custom Installation"

Related

how to run a django project (made on linux) on windows?

I am new to programming and started working on Linux, now I want to switch to windows and open my project there, look at the tutorials, it is written to activate the virtual environment in the Settings / activate.bat folder. but in my project there is no such folder and such file with the extension .bat. what should I do?
Please download & Install interpreter from https://www.python.org/downloads/
(make sure you are using windows 10, because previous
version create problems)
Download pycharm professional addition (if you have university account) other wise go for community https://www.jetbrains.com/pycharm/download/
Click for Django project
Set the interpreter
Go to. manage.py task
Run command migrate
Enjoy
First thing get all the requirements like the library you installed through pip inside
a txt file by writing this command pip freeze > requirements.txt.
Get only the source folder where you made the project and app.
Create a folder.
Create an environment inside the folder. (virtualenv name_of_the_env)
Go inside the env you created and activate the Script. (.\Scripts\activate)
Copy the source folder inside the env and either you can install all the library
manually using pip or you can use requirement.txt that you have created to install the
library by writing this command pip install -r requirement.txt.
You need python and pip installed to work

Where are Django registration redux defaut files stored

After I pip installed django-registration-redux, I want to modify its defaul froms.py, registration/registration/, but can not find that directory. And can not find the default files in any directory. Anyone know how to access those files thanks a lot!
You can check the file location of a python module (it could be pip installed) using .__file__. E.g.
>>> import registration
>>> registration.__file__
'/some/path/to/site-packages/registration/__init__.py'
This should help you locate where the module is physically located on your machine.
Pip installed package files are downloaded into the site-packages directory of your Python installation or virtualenv. You can use python itself to locate the directory:
python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
With that being said, you should avoid modifying files in site-packages. Any changes you make are likely not tracked in version control. Consider either forking the project and installing directly from git, or download the source and add it to your project.
You can find it in the site-packages folder of your python installation. Hopefully you're using virualenv and then your in use python is in the lib folder from the virtualenv folder of your app.
Probably is not a good thing to modify the package itself. You can subclass any of the default forms or views in your project code and add fields, modify validation, etc.

Moving django app from virtualenv site-packages folder to projects root directory

New to django… i'm wondering if there is a way to move an app which i installed with pip in virtualenvs site-packages folder to my projects root directory.
I ask this because in my current case i'm using django-cms aldryn-blog and if i modify it's data in site-packages my changes wont be deployed because on server i install everything with pip from requirements. So i think the best would be to take the site-packages i want to modify to my project root directory because this way i wont forget about them when i deploy my site.
Is this clever and how could i do this?
Yes you can, an it is a normal thing to do. Just copy the folder from site-packages or download it directly on PyPI or GitHub. Don't forget to add the apps to the settings.
you could maybe just download it from github?
https://github.com/aldryn/aldryn-blog
And remove it from requirements of course, put it somewhere in your app directory or home directory and change the path in your INSTALLED_APPS accordingly
You can have it both ways:
Download the entire package to where it is most convenient for you to work on.
Install it in development/editable mode using pip install -e dirname (where dirname is the directory containing setup.py).
This will crete a .pth file in site-packages pointing to where you put your sources. You can do this in your requirements.txt file too (-e path/to/package).

command "django-admin.py startproject mysite" not recognized

EDIT: I added the path to django-admin.py to my system path (C:\Users\me\Downloads\Django-1.5.1\django\bin) but even after this when I try to run django-admin.py startproject mysite, it asks me to pick a file to open with and even when I pick python.py, it opens in chrome for some reason. I also tried python django-admin.py startproject mysite but it says
python: can't open file django-admin.py: [Errno 2] No such file or directory
Any idea what is wrong?
I added python27 to the system path and when I open up cmd and switch to a directory (C:\Users\me\djcode) and then type in django-admin.py startproject mysite it says
django-admin.py is not recognized as an internal or external command, operable program or batch file
When I try typing the command python django-admin.py startproject mysite, it says
python: can't open file django-admin.py: [Errno 2] No such file or directory
Any idea why?
In the djangobook (http://www.djangobook.com/en/2.0/chapter02.html) it says
django-admin.py should be on your system path if you installed Django via its setup.py utility
what does this mean? how do I add django-admin.py to my system path? I am not sure where django-admin.py even is.
Working !!
If you are using window then first of all
create virtual environment
python -m venv venv
Then activate that environment
venv\Scripts\activate
Then install Django in that environment
pip install django
Then create django project named mysite
django-admin startproject mysite
I have the same problem because i have installed Django Manually. The solution for resolve :
Install Python https://www.python.org/downloads/ (if not installed)
Verify your Path : https://stackoverflow.com/a/17836439 It's very important or the next no work.
Install setuptool : Download the .py file here : https://bootstrap.pypa.io/ez_setup.py and execute this with python.
Install PIP with this command : easy_install pip
Clean Django : pip uninstall django
install Django : pip install django
Execut django-admin.py startproject mysite and enjoy.
If not OK, test django-admin-script.py startproject mysite. If is ok, your django installation is wrong.
Sorry for my bad english, i'm french :)
Find the folder where django-admin.py is located. Then go to Control Panel > System > Advanced System Settings > Environment Variables . In the User Variables and/or System Variables, search for an entry called PATH. Modify it by adding the folder you found earlier, use the other entries as guidance, basically just make sure they're separated by ;. If you have done all these steps, but are still in the same cmd prompt that you were using before doing them, close it and open a new one so it picks up on your changes.
For windows, the "django-admin" you need to create a project is an .exe file not a .py file and it is present at the following location:
C:\Python27\Scripts
so you have to add this location to your path.
After running pip install django wait for the setup to finish and
present you with a warning.
From the warning copy the path of where django is installed. In my
case it is
C:\Users\USERNAME\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8\LocalCache\local-packages\Python38\Scripts
Add that to PATH in environment variables and restart cmd or shell.
Try this: django-admin startproject mysite
I have tried all of the mentioned things however I was still unable to create a project using django-admin startapp appname. So I used python -m django startproject appname instead and was able to create the proejct
If it did not work for you even if you tried the command :
django-admin startproject mysite
Here's what worked for me:
Uninstall django
pip uninstall django
Add the below path to the PATH variables-
C:\Users\System_Name\AppData\Roaming\Python\Python39\Scripts
Note: In the above path, System_Name refers to the name of your laptop/pc.
Install django again
pip install django
You can check the version of django using django-admin --version
I've just created project using :
py -m django startproject Yourprojectname
You need to install django. It seems you have just downloaded it and expanded the archive.
Install setuptools
Install pip
Open a command prompt and then type pip install -U django (or, you can download the windows installer).
Once you have done the above steps, you need to make sure C:\Python27\Scripts is in your PATH; otherwise the commands will not work.
To set PATH, go to Environment Variables from My Computer (right click and then go to Manage, then on the left, Advanced Settings).
Finally, you'll need to run python django-admin.py and not django-admin.py
this one workked for me
python 2.6.6
django 1.6.11
python C:\Python26\Scripts\django-admin.py startproject myapplication
Try using. exe instead of .py.
It worked for me
Add the following address in the system path
C:\Users\{username}\AppData\Roaming\Python\Python39\Scripts
{username} : enter your username
Try this command: python -m django startproject myapp
I faced the same problem and tried many ways. Solved my problem by following these steps
Python installation manually
in my cmd
pip install Django
pip install djangorestframework
pip install django-cors-headers
pip install virtualenvwrapper-win
Windows+r
sysdm.cpl
In Advanced Option, Environment Variables> In user variable edit
path
C:\Users\mushf\AppData\Roaming\Python\Python310
C:\Users\mushf\AppData\Roaming\Python\Python310\Scripts
In System Variable> Edit
path
C:\Program Files\Python310\Scripts\
C:\Program Files\Python310\
After that create my project folder in the desired location:
django-admin start project ProjectName
My preferable IDE is pycharm
Instructions for Windows
You must have pip on your machine.
Open Visual Studio and open the project folder.
Open terminal from VS, Terminal tab. Go to the project directory.
pip3 install virtualenvwrapper
This must be done only the very first time you are setting up your environment.
Then run:
python -m venv env
Installs the needed files for running a virtual environment. You should see a folder added now. Create a virtual environment. Now activate it (i.e. start working in the virtual environment):
activate environment env\Scripts\activate
if activate doesn't work use this
env\Scripts\activate
Install Django in a virtual environment. If you want a specific version run:
pip install django==3.0.3
For the latest version just run:
pip install Django
To check the existing version:
pip freeze
To create a new project:
django-admin startproject simplesite
cd simplesite
python manage.py startapp helloworld
will create a new application in the project with a folder "helloworld"
python manage.py runserver 127.0.0.1:8080
Open in your browser http://localhost:8080 to test the running server.
Ctrl+C to stop the server.
copy the Django-admin.exe file into the folder you are using. the file can be found at python/python(version)/scripts. when you finish a folder should pop up in the name of your file
Just copy the Django admin.py file which is present actually where you have installed python in C:\program files\Python or in my case it was located at administrator\appdata\local\programs\python you can check yours and just copy the file that is Django admin from script folder to your newly created folder
I needed to update my System Environment Variable path so this answer helped me:
Add “django-admin.py” path to command line on Windows
You will have to activate the environment (env) before you run the command:
django-admin startproject myapp
I had the same problem.
For Windows user:
Step 1: Open cmd in the project directory
Step 2: Run this in cmd : python -c "import django; print(django.__path__)"
Step 3: Go to the path and copy django-admin.exe to the current project directory
Step 4: Run this in cmd : django-admin startproject DEMO
Happy Learning,
Thank you
Before you run django-admin.py startproject mysite
1) You need to create a virtual enviroment on the folder that you want to store your project
so run pipenv install django==2.1 (if you dont have pipenv installed run
pip install --user pipenv)
2) To run this virtual enviroment run pipenv shell
3)And finaly django-admin.py startproject mysite
Hope this works
In my case I made a mistake installing django in a wide system manner and then it created /usr/local/bin/django-admin I uninstalled django through pip but it doesn't remove those files then when you type the command it tries to invoke that file but as it says the module django is not present.
Just remove those orphans files (use sudo if needed)
sudo rm /usr/local/bin/django-admin
sudo rm /usr/local/bin/django-admin.py
and try again (with your virtualenv activated) and it should takes the right module and works as usual!
This is my solution:
step-1 --add environmental path
C:\Users\DELL\AppData\Local\Programs\Python\Python38
C:\Users\DELL\AppData\Local\Programs\Python\Python38\Scripts
step-2 pip install django
step-3 --run command in specific folder
django-admin.py startproject mysite
For me, a simple fix was reinstalling python. It turns out I didn't select add to path, when installing python the first time, and that is crucial.
if you are using windows then goto (search)"advanced system settings/Environment veriables/New path" and add path of your python packeges folder, in my case its "C:\python38\Lib\site-packages".
may be you have other path of site-packages folder.
If you are using Pycharm then after creating New project just go to the file-->setting-->project-->serch Django-->install Django then go to the terminal type django-admin startproject name(whichever you want) press enter
Run CMD as Administrator
pip3 install django
If you had this error occur on windows after installing django using pip that has the message along the following lines:
could not install packages due to an OSError: [WinError 2] The system
cannot find the file specified: 'c:\python39\Scripts\sqlformat.exe'
-> 'c:\python39\Scripts\sqlformat.exe.deleteme'
Which in turn causes the same problem as the question stated. A working solution is to clean installing django which you can do by using pip uninstall django, and then reinstalling it by running the install command like this: pip install --user django.
If no other warnings or errors occur, then it should be fixed. In case a warning sating that the django-admin.exe file is located at some location that needs to be added to the path variable, you can copy that path and add it to the path variable under your environment variable settings.
Quick fix guide:
Uninstall django: pip uninstall django.
Reinstall django: pip install --user django.
If a warning occurs containing a path continue to step 4 otherwise it should be fixed, and you may skip to the bottom.
Copy the path that should be added to the PATH environment variable.(the one specified in the warning)
Click on the start menu button.
Search for Control Panel and click on it.
Change the View by: option to Large icons.
Click on the System item.
Click on the Advance system settings button.
The System Properties window will open, proceed to click on the Environment Variables... button at the bottom right.
A new window will open displaying your Environment Variables, on the first gird select the row with the name of PATH or Path or path under the Variable column.
Then click the Edit button just below the grid.
A new window will open, proceed to click on the New button and paste the path you copied earlier.
After pasting press the Enter key and proceed to click on the OK button.
Once the window closes and you're back in the Environment Variables window proceed to do steps 11 to 14 again only with the grid at the bottom(inside the System Variables group).
Once all these steps were followed you may click on the OK button in the Environment Variables window and close out of all the other windows that are still open after you followed these steps.
Close your CMD window and open a new one (this allows it to recognize the changes you made to your environment variables).
After following these steps, you should be able to continue with what you were doing without having any other difficulties further regarding Django
I wasn't getting the django-admin to run even after an hour of configuring PATH etc. That was all completely useless.
What actually WORKED was running the windows terminal (cmd) as admin and then doing "pip install django". Be sure to first uninstall it though using "pip uninstall django", so that you get a clean installation.
Now django-admin runs perfect on cmd with or without admin rights.

How to set the value of PATH variable in a virtualenv?

I have installed virtualenv and created a virtualenv directory for testing out the newer development version of django.I git cloned the latest version of django and placed .pth file inside the virtualenv's site package directory to the cloned django dir.Now I need to modify the PATH variable(to include django/bin) so that django-admin.py is accessible from the virtualenv.How can i do it?
My current PATH in virtualenv includes a directory
django/core/django/bin
Why does it include it ?
I haven't done any modification to PATH right now.
--I've given the relative path of the django directory here instead of the fullpath to mimnimize the clutter.
It's far easier to pip install using the repo itself. Then, all the linking is done for you automatically:
Just use:
$ pip install svn+http://code.djangoproject.com/svn/django/trunk/#egg=django
And, you're ready to roll.