regarding virtualenv and python version 3.5 or 3.4 or other versions

540 views
Skip to first unread message

Seo Brain

unread,
Aug 13, 2017, 8:51:17 AM8/13/17
to Django users
Hi, the question is about which python version suppose to use. On web server is ubuntu 14.4 - python v3.4 (i assume) with virtualenv, my local is python v3.5 or may be using v3.4 if i have to keep the same version on web server ? v3.4 seems has issue to install on one of my windows 7, but no issue on mac. or may be i suppose to use virtual-box to keep the environment same everywhere dev and production server ?
thanks in advance. Ross

Avraham Serour

unread,
Aug 13, 2017, 11:11:57 AM8/13/17
to django-users
I suggest using 3.6, which is the current stable release
if your machine or the server doesn't have this version installed you may compile it yourself and create the virtualenv for the project from there

There are some projects that help you with that, I like pythonz https://github.com/saghul/pythonz


On Sun, Aug 13, 2017 at 9:33 AM, Seo Brain <seo...@gmail.com> wrote:
Hi, the question is about which python version suppose to use. On web server is ubuntu 14.4 - python v3.4 (i assume) with virtualenv, my local is python v3.5 or may be using v3.4 if i have to keep the same version on web server ? v3.4 seems has issue to install on one of my windows 7, but no issue on mac. or may be i suppose to use virtual-box to keep the environment same everywhere dev and production server ?
thanks in advance. Ross

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/7937063c-e3cb-44b7-b524-097b82d05d87%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Seo Brain

unread,
Aug 13, 2017, 3:56:16 PM8/13/17
to Django users
thanks for the suggestion.



On Sunday, August 13, 2017 at 8:11:57 AM UTC-7, Avraham Serour wrote:
I suggest using 3.6, which is the current stable release
if your machine or the server doesn't have this version installed you may compile it yourself and create the virtualenv for the project from there

There are some projects that help you with that, I like pythonz https://github.com/saghul/pythonz

On Sun, Aug 13, 2017 at 9:33 AM, Seo Brain <seo...@gmail.com> wrote:
Hi, the question is about which python version suppose to use. On web server is ubuntu 14.4 - python v3.4 (i assume) with virtualenv, my local is python v3.5 or may be using v3.4 if i have to keep the same version on web server ? v3.4 seems has issue to install on one of my windows 7, but no issue on mac. or may be i suppose to use virtual-box to keep the environment same everywhere dev and production server ?
thanks in advance. Ross

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.

Antonis Christofides

unread,
Aug 14, 2017, 2:35:01 PM8/14/17
to django...@googlegroups.com

Hi,

I generally disagree.

Compiling Python on production can take some time (e.g. you may get some compilation parameters wrong) and makes security upgrades harder; instead of "apt update && apt upgrade" you'll be needing to recompile Python. It might not seem like a big deal, but if today you have one production machine, next year you will have three and the year after that you will have ten or more. Don't use practices that don't scale well.

What I'd do would be to install Python 3.6 on my development machine and deploy on whatever Python version Ubuntu 14.04 has. I'd be careful to not use any post-3.4 features while developing (that's easy as the Python docs clearly have the versions marked). If an error occurs during deployment, chances are way higher the error will be elsewhere than in the Python version. Besides, upgrades are always a little risky, and if you can't allow the downtime, you'll need to have a staging environment as well.

Of course, if there is any compelling reason to use a Python 3.6 feature, that's another story; but using a couple of f-strings is not compelling enough.

Regards,

Antonis

Antonis Christofides
http://djangodeployment.com
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.

To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.

Simon Charette

unread,
Aug 14, 2017, 4:07:08 PM8/14/17
to Django users
Hello there,

I'd strongly suggest you use the same version of Python on your development machines and
on your servers.

You should be able to install a pre-compiled version of Python 3.5 on Ubuntu 14.04 LTS by
adding the deadsnakes PPA[0] running apt-get update and then apt-get install python3.5.

Best,
Simon

Andréas Kühne

unread,
Aug 14, 2017, 4:08:32 PM8/14/17
to django...@googlegroups.com
If you want something to scale - make sure that you make the right prerequisites for that. We run on virtual machines and have custom built images that get spun up automatically if the system needs to scale (it scales horizontally). That way I know what I have on the machines and can upgrade to new images as needed. 
I think using an automatic "apt update && apt upgrade" you will be asking for problems. Specially if you are running one version of Python on your own machine and another in production (running 14.04 in production is not a good option as far as I'm concerned). You will get issues that will be harder to find and debug.
What I really would like to run on would be things like AWS Elastic Beanstalk - no need to configure the system at all, or in a docker image. Regarding the AWS Beanstalk - I like the way that I don't need to provision servers my self. And on docker you can run the same image in ALL environments - which I think would be really useful.

Regards,

Andréas

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.

Seo Brain

unread,
Aug 15, 2017, 8:56:15 PM8/15/17
to Django users
Hi Avraham

Thanks.

I did install the python V3.6 on my dev-server ubuntu 14.04 

by using this

//also map 3.6.2 to python3 folder by this way
sudo rm python3
sudo ln -s python3.5 python3 

python -V shows v3.6.2
sudo apt-get install python3.6-venv -- able to install virtualenv

and python -V is v2.7 and python3 -V is v3.6.2  

which python3 -- (/usr/bin/python3)

which pip3 (/usr/local/bin/pip3) or pip (/usr/local/bin/pip) display the path 

and issue is pip -V or pip3 -V , error display

--------
Traceback (most recent call last):
  File "/usr/local/bin/pip3", line 7, in <module>
    from pip import main
  File "/usr/lib/python3/dist-packages/pip/__init__.py", line 59, in <module>
    from pip.log import logger
  File "/usr/lib/python3/dist-packages/pip/log.py", line 9, in <module>
    import colorama, pkg_resources
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load
  File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 646, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 616, in _load_backward_compatible
  File "/usr/share/python-wheels/setuptools-3.3-py2.py3-none-any.whl/pkg_resources.py", line 1479, in <module>
    register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider)
AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'
-----------


and i tried to upgrade the pip3 and still the same error.

Please help to figure it out.

Thanks

Ross



On Sunday, August 13, 2017 at 8:11:57 AM UTC-7, Avraham Serour wrote:
I suggest using 3.6, which is the current stable release
if your machine or the server doesn't have this version installed you may compile it yourself and create the virtualenv for the project from there

There are some projects that help you with that, I like pythonz https://github.com/saghul/pythonz

On Sun, Aug 13, 2017 at 9:33 AM, Seo Brain <seo...@gmail.com> wrote:
Hi, the question is about which python version suppose to use. On web server is ubuntu 14.4 - python v3.4 (i assume) with virtualenv, my local is python v3.5 or may be using v3.4 if i have to keep the same version on web server ? v3.4 seems has issue to install on one of my windows 7, but no issue on mac. or may be i suppose to use virtual-box to keep the environment same everywhere dev and production server ?
thanks in advance. Ross

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.

Avraham Serour

unread,
Aug 16, 2017, 5:18:08 AM8/16/17
to django-users
on the same link it is mentioned "To not touch the system Python (generally a bad idea..."

it is suggested to use pyenv, you may use instead pythonz

To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.

To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.

Seo Brain

unread,
Aug 17, 2017, 1:13:06 AM8/17/17
to Django users
pyenv - github way - it works for me.
thanks.
Reply all
Reply to author
Forward
0 new messages