nylas / sync-engine

:incoming_envelope: IMAP/SMTP sync system with modern APIs
https://nylas.com/docs/platform
GNU Affero General Public License v3.0
3.5k stars 354 forks source link

Getting error on `sudo -H ./setup.sh` while trying to self-host on Ubuntu 14.04 #443

Closed foxtrot9 closed 7 years ago

foxtrot9 commented 7 years ago

I am using releasesync-engine-17.1.16. On executing, I get below error.

Collecting nylas-production-python>=0.3.9 (from -r requirements.txt (line 1))
  Using cached nylas-production-python-0.3.9.tar.gz
Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 310, in run
    wb.build(autobuilding=True)
  File "/usr/local/lib/python2.7/dist-packages/pip/wheel.py", line 750, in build
    self.requirement_set.prepare_files(self.finder)
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 370, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 601, in _prepare_file
    abstract_dist.prep_for_dist()
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 127, in prep_for_dist
    self.req_to_install.run_egg_info()
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 397, in run_egg_info
    self.setup_py, self.name,
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 372, in setup_py
    import setuptools  # noqa
  File "/usr/local/lib/python2.7/dist-packages/setuptools/__init__.py", line 12, in <module>
    import setuptools.version
  File "/usr/local/lib/python2.7/dist-packages/setuptools/version.py", line 1, in <module>
    import pkg_resources
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 72, in <module>
    import packaging.requirements
  File "/usr/local/lib/python2.7/dist-packages/packaging/requirements.py", line 59, in <module>
    MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker")
TypeError: __call__() takes exactly 2 arguments (1 given)
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Also, my environment settings:

 % python --version  
Python 2.7.12
 % pip --version
pip 8.1.2 from /usr/local/lib/python2.7/dist-packages (python 2.7)

How to solve this error?

foxtrot9 commented 7 years ago

Update setup.sh to (On line number 181 and 179).

pip install 'pip==9.0.1' 'setuptools==34.3.1'

Also, add below line after 174 in setup.sh

pip install 'pyparsing==2.2.0'

And also add pyasn1==0.2.3 at end of requirements.txt

foxtrot9 commented 7 years ago

It is fixed in commit https://github.com/nylas/sync-engine/commit/b91b94b9a0033be4199006eb234d270779a04443 .