Re: distributed development methodology

2016-11-05 Thread Rustom Mody
On Saturday, October 29, 2016 at 1:20:25 PM UTC+5:30, Paul Rubin wrote:
> Adam Jensen  writes:
> > So what are some of the more successful distributed. multi-platform,
> > development models?
> 
> Use an orchestration program to keep the systems in sync: I use ansible
> (ansible.com) which is written in Python and fairly simple once you get
> used to it, but there are lots of other programs in that space and
> everyone has their own preferences.
> 
> If stuff doesn't change too often, you could also use Docker or whatever
> the current hotness is to make a container image and deploy it to your
> fleet.

Been seeing things like this of late:
https://thehftguy.wordpress.com/2016/11/01/docker-in-production-an-history-of-failure/
[Disclaimer: No direct experience myself one way or other]

LXC and others compared: 
https://www.flockport.com/alternatives-to-docker-and-lxc/
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: distributed development methodology

2016-10-29 Thread Adam Jensen
On 10/29/2016 12:31 AM, Adam Jensen wrote:
> On 10/28/2016 11:59 PM, Cameron Simpson wrote:
>> Sync the virtualenv prerequisites file with your DVCS. Have a tiny
>> script to update the local virtualenv prereq file and run its update
>> command to honour any new prereqs.
> 
> Cool. I didn't mention that I am a python n00b, did I? What/where is the
> "virtualenv prerequisites file" and what would the "update command" look
> like? :)
> 

For posterity:

pip freeze > requirements.txt
pip install -r requirements.txt

https://pip.pypa.io/en/latest/user_guide/#requirements-files
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: distributed development methodology

2016-10-29 Thread Paul Rubin
Adam Jensen  writes:
> So what are some of the more successful distributed. multi-platform,
> development models?

Use an orchestration program to keep the systems in sync: I use ansible
(ansible.com) which is written in Python and fairly simple once you get
used to it, but there are lots of other programs in that space and
everyone has their own preferences.

If stuff doesn't change too often, you could also use Docker or whatever
the current hotness is to make a container image and deploy it to your
fleet.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: distributed development methodology

2016-10-29 Thread Cameron Simpson

On 29Oct2016 00:11, Adam Jensen  wrote:

On 10/28/2016 11:59 PM, Cameron Simpson wrote:

Sync the virtualenv prerequisites file with your DVCS. Have a tiny
script to update the local virtualenv prereq file and run its update
command to honour any new prereqs.


Cool. I didn't mention that I am a python n00b, did I? What/where is the
"virtualenv prerequisites file" and what would the "update command" look
like? :)


Have a read of this:

 https://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/

and then this:

 https://pip.pypa.io/en/latest/user_guide/#requirements-files

Then come back with specific questions :-)

Cheers,
Cameron Simpson 
--
https://mail.python.org/mailman/listinfo/python-list


Re: distributed development methodology

2016-10-29 Thread Chris Angelico
On Sat, Oct 29, 2016 at 2:59 PM, Cameron Simpson  wrote:
> On 28Oct2016 23:02, Adam Jensen  wrote:
>>
>> If one were to develop a Python application on multiple machines, what
>> are some good methods for keeping them synchronized? For example, I
>> develop on a FreeBSD machine and a CentOS machine, each with python2.7
>> and differing sets of site packages. On each machine, I can use
>> virtualenv. But if I 'pip install xxx' on one, should I just try to
>> remember to do the same on the other? I am not sure about the details
>> but syncing the entire virtualenv directory with a DVCS seems like it
>> might be problematic. (I prefer https://www.fossil-scm.org).
>>
>> So what are some of the more successful distributed. multi-platform,
>> development models?
>
>
> Sync the virtualenv prerequisites file with your DVCS. Have a tiny script to
> update the local virtualenv prereq file and run its update command to honour
> any new prereqs.

Easiest way that I've found is to use requirements.txt and "pip
install -r requirements.txt". And as Cameron says, source control is
the key, but you don't don't need to manage the entire venv, just the
one key file.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: distributed development methodology

2016-10-29 Thread Adam Jensen
On 10/28/2016 11:59 PM, Cameron Simpson wrote:
> Sync the virtualenv prerequisites file with your DVCS. Have a tiny
> script to update the local virtualenv prereq file and run its update
> command to honour any new prereqs.

Cool. I didn't mention that I am a python n00b, did I? What/where is the
"virtualenv prerequisites file" and what would the "update command" look
like? :)

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: distributed development methodology

2016-10-28 Thread Adam Jensen
On 10/28/2016 11:59 PM, Cameron Simpson wrote:
> Sync the virtualenv prerequisites file with your DVCS. Have a tiny
> script to update the local virtualenv prereq file and run its update
> command to honour any new prereqs.

Cool. I didn't mention that I am a python n00b, did I? What/where is the
"virtualenv prerequisites file" and what would the "update command" look
like? :)


-- 
https://mail.python.org/mailman/listinfo/python-list


Re: distributed development methodology

2016-10-28 Thread Cameron Simpson

On 28Oct2016 23:02, Adam Jensen  wrote:

If one were to develop a Python application on multiple machines, what
are some good methods for keeping them synchronized? For example, I
develop on a FreeBSD machine and a CentOS machine, each with python2.7
and differing sets of site packages. On each machine, I can use
virtualenv. But if I 'pip install xxx' on one, should I just try to
remember to do the same on the other? I am not sure about the details
but syncing the entire virtualenv directory with a DVCS seems like it
might be problematic. (I prefer https://www.fossil-scm.org).

So what are some of the more successful distributed. multi-platform,
development models?


Sync the virtualenv prerequisites file with your DVCS. Have a tiny script to 
update the local virtualenv prereq file and run its update command to honour 
any new prereqs.


Cheers,
Cameron Simpson 
--
https://mail.python.org/mailman/listinfo/python-list


distributed development methodology

2016-10-28 Thread Adam Jensen
If one were to develop a Python application on multiple machines, what
are some good methods for keeping them synchronized? For example, I
develop on a FreeBSD machine and a CentOS machine, each with python2.7
and differing sets of site packages. On each machine, I can use
virtualenv. But if I 'pip install xxx' on one, should I just try to
remember to do the same on the other? I am not sure about the details
but syncing the entire virtualenv directory with a DVCS seems like it
might be problematic. (I prefer https://www.fossil-scm.org).

So what are some of the more successful distributed. multi-platform,
development models?

-- 
https://mail.python.org/mailman/listinfo/python-list