Yep, the driver and executors need to have compatible Python versions. I
think that there are some bytecode-level incompatibilities between 2.6 and
2.7 which would impact the deserialization of Python closures, so I think
you need to be running the same 2.x version for all communicating Spark
processes. Note that you _can_ use a Python 2.7 `ipython` executable on the
driver while continuing to use a vanilla `python` executable on the
executors (we have environment variables which allow you to control these
separately).

On Tue, Jan 5, 2016 at 3:05 PM, Nicholas Chammas <nicholas.cham...@gmail.com
> wrote:

> I think all the slaves need the same (or a compatible) version of Python
> installed since they run Python code in PySpark jobs natively.
>
> On Tue, Jan 5, 2016 at 6:02 PM Koert Kuipers <ko...@tresata.com> wrote:
>
>> interesting i didnt know that!
>>
>> On Tue, Jan 5, 2016 at 5:57 PM, Nicholas Chammas <
>> nicholas.cham...@gmail.com> wrote:
>>
>>> even if python 2.7 was needed only on this one machine that launches the
>>> app we can not ship it with our software because its gpl licensed
>>>
>>> Not to nitpick, but maybe this is important. The Python license is 
>>> GPL-compatible
>>> but not GPL <https://docs.python.org/3/license.html>:
>>>
>>> Note GPL-compatible doesn’t mean that we’re distributing Python under
>>> the GPL. All Python licenses, unlike the GPL, let you distribute a modified
>>> version without making your changes open source. The GPL-compatible
>>> licenses make it possible to combine Python with other software that is
>>> released under the GPL; the others don’t.
>>>
>>> Nick
>>> ​
>>>
>>> On Tue, Jan 5, 2016 at 5:49 PM Koert Kuipers <ko...@tresata.com> wrote:
>>>
>>>> i do not think so.
>>>>
>>>> does the python 2.7 need to be installed on all slaves? if so, we do
>>>> not have direct access to those.
>>>>
>>>> also, spark is easy for us to ship with our software since its apache 2
>>>> licensed, and it only needs to be present on the machine that launches the
>>>> app (thanks to yarn).
>>>> even if python 2.7 was needed only on this one machine that launches
>>>> the app we can not ship it with our software because its gpl licensed, so
>>>> the client would have to download it and install it themselves, and this
>>>> would mean its an independent install which has to be audited and approved
>>>> and now you are in for a lot of fun. basically it will never happen.
>>>>
>>>>
>>>> On Tue, Jan 5, 2016 at 5:35 PM, Josh Rosen <joshro...@databricks.com>
>>>> wrote:
>>>>
>>>>> If users are able to install Spark 2.0 on their RHEL clusters, then I
>>>>> imagine that they're also capable of installing a standalone Python
>>>>> alongside that Spark version (without changing Python systemwide). For
>>>>> instance, Anaconda/Miniconda make it really easy to install Python
>>>>> 2.7.x/3.x without impacting / changing the system Python and doesn't
>>>>> require any special permissions to install (you don't need root / sudo
>>>>> access). Does this address the Python versioning concerns for RHEL users?
>>>>>
>>>>> On Tue, Jan 5, 2016 at 2:33 PM, Koert Kuipers <ko...@tresata.com>
>>>>> wrote:
>>>>>
>>>>>> yeah, the practical concern is that we have no control over java or
>>>>>> python version on large company clusters. our current reality for the 
>>>>>> vast
>>>>>> majority of them is java 7 and python 2.6, no matter how outdated that 
>>>>>> is.
>>>>>>
>>>>>> i dont like it either, but i cannot change it.
>>>>>>
>>>>>> we currently don't use pyspark so i have no stake in this, but if we
>>>>>> did i can assure you we would not upgrade to spark 2.x if python 2.6 was
>>>>>> dropped. no point in developing something that doesnt run for majority of
>>>>>> customers.
>>>>>>
>>>>>> On Tue, Jan 5, 2016 at 5:19 PM, Nicholas Chammas <
>>>>>> nicholas.cham...@gmail.com> wrote:
>>>>>>
>>>>>>> As I pointed out in my earlier email, RHEL will support Python 2.6
>>>>>>> until 2020. So I'm assuming these large companies will have the option 
>>>>>>> of
>>>>>>> riding out Python 2.6 until then.
>>>>>>>
>>>>>>> Are we seriously saying that Spark should likewise support Python
>>>>>>> 2.6 for the next several years? Even though the core Python devs stopped
>>>>>>> supporting it in 2013?
>>>>>>>
>>>>>>> If that's not what we're suggesting, then when, roughly, can we drop
>>>>>>> support? What are the criteria?
>>>>>>>
>>>>>>> I understand the practical concern here. If companies are stuck
>>>>>>> using 2.6, it doesn't matter to them that it is deprecated. But 
>>>>>>> balancing
>>>>>>> that concern against the maintenance burden on this project, I would say
>>>>>>> that "upgrade to Python 2.7 or stay on Spark 1.6.x" is a reasonable
>>>>>>> position to take. There are many tiny annoyances one has to put up with 
>>>>>>> to
>>>>>>> support 2.6.
>>>>>>>
>>>>>>> I suppose if our main PySpark contributors are fine putting up with
>>>>>>> those annoyances, then maybe we don't need to drop support just yet...
>>>>>>>
>>>>>>> Nick
>>>>>>> 2016년 1월 5일 (화) 오후 2:27, Julio Antonio Soto de Vicente <
>>>>>>> ju...@esbet.es>님이 작성:
>>>>>>>
>>>>>>>> Unfortunately, Koert is right.
>>>>>>>>
>>>>>>>> I've been in a couple of projects using Spark (banking industry)
>>>>>>>> where CentOS + Python 2.6 is the toolbox available.
>>>>>>>>
>>>>>>>> That said, I believe it should not be a concern for Spark. Python
>>>>>>>> 2.6 is old and busted, which is totally opposite to the Spark 
>>>>>>>> philosophy
>>>>>>>> IMO.
>>>>>>>>
>>>>>>>>
>>>>>>>> El 5 ene 2016, a las 20:07, Koert Kuipers <ko...@tresata.com>
>>>>>>>> escribió:
>>>>>>>>
>>>>>>>> rhel/centos 6 ships with python 2.6, doesnt it?
>>>>>>>>
>>>>>>>> if so, i still know plenty of large companies where python 2.6 is
>>>>>>>> the only option. asking them for python 2.7 is not going to work
>>>>>>>>
>>>>>>>> so i think its a bad idea
>>>>>>>>
>>>>>>>> On Tue, Jan 5, 2016 at 1:52 PM, Juliet Hougland <
>>>>>>>> juliet.hougl...@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> I don't see a reason Spark 2.0 would need to support Python 2.6.
>>>>>>>>> At this point, Python 3 should be the default that is encouraged.
>>>>>>>>> Most organizations acknowledge the 2.7 is common, but lagging
>>>>>>>>> behind the version they should theoretically use. Dropping python 2.6
>>>>>>>>> support sounds very reasonable to me.
>>>>>>>>>
>>>>>>>>> On Tue, Jan 5, 2016 at 5:45 AM, Nicholas Chammas <
>>>>>>>>> nicholas.cham...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> +1
>>>>>>>>>>
>>>>>>>>>> Red Hat supports Python 2.6 on REHL 5 until 2020
>>>>>>>>>> <https://alexgaynor.net/2015/mar/30/red-hat-open-source-community/>,
>>>>>>>>>> but otherwise yes, Python 2.6 is ancient history and the core Python
>>>>>>>>>> developers stopped supporting it in 2013. REHL 5 is not a good enough
>>>>>>>>>> reason to continue support for Python 2.6 IMO.
>>>>>>>>>>
>>>>>>>>>> We should aim to support Python 2.7 and Python 3.3+ (which I
>>>>>>>>>> believe we currently do).
>>>>>>>>>>
>>>>>>>>>> Nick
>>>>>>>>>>
>>>>>>>>>> On Tue, Jan 5, 2016 at 8:01 AM Allen Zhang <allenzhang...@126.com>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> plus 1,
>>>>>>>>>>>
>>>>>>>>>>> we are currently using python 2.7.2 in production environment.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 在 2016-01-05 18:11:45,"Meethu Mathew" <meethu.mat...@flytxt.com>
>>>>>>>>>>> 写道:
>>>>>>>>>>>
>>>>>>>>>>> +1
>>>>>>>>>>> We use Python 2.7
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>>
>>>>>>>>>>> Meethu Mathew
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Jan 5, 2016 at 12:47 PM, Reynold Xin <
>>>>>>>>>>> r...@databricks.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Does anybody here care about us dropping support for Python 2.6
>>>>>>>>>>>> in Spark 2.0?
>>>>>>>>>>>>
>>>>>>>>>>>> Python 2.6 is ancient, and is pretty slow in many aspects (e.g.
>>>>>>>>>>>> json parsing) when compared with Python 2.7. Some libraries that 
>>>>>>>>>>>> Spark
>>>>>>>>>>>> depend on stopped supporting 2.6. We can still convince the library
>>>>>>>>>>>> maintainers to support 2.6, but it will be extra work. I'm curious 
>>>>>>>>>>>> if
>>>>>>>>>>>> anybody still uses Python 2.6 to run Spark.
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>
>>>>
>>

Reply via email to