apple / ccs-calendarserver

The Calendar and Contacts Server.
https://www.calendarserver.org
Apache License 2.0
485 stars 136 forks source link

ImportError when running command line tools #469

Open cato- opened 7 years ago

cato- commented 7 years ago

I tried to install on Debian Stable (Jessie, 8.6, CPython 2.7.9) with

  virtualenv venv-master
  source venv-master
  git clone https://github.com/apple/ccs-calendarserver.git ccs-calendarserver-master
  cd ccs-calendarserver-master
  pip install -U pip
  pip install -r requirements-default.txt

I created a config file in /etc/caldavd/caldavd.plist and tried to run calendarserver_upgrade and got:

# calendarserver_upgrade 
Traceback (most recent call last):
  File "/srv/sync/ccs/venv-master/bin/calendarserver_upgrade", line 11, in <module>
    load_entry_point('CalendarServer', 'console_scripts', 'calendarserver_upgrade')()
  File "/srv/sync/ccs/venv-master/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 561, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/srv/sync/ccs/venv-master/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2627, in load_entry_point
    return ep.load()
  File "/srv/sync/ccs/venv-master/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2287, in load
    return self.resolve()
  File "/srv/sync/ccs/venv-master/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2293, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/srv/sync/ccs/ccs-calendarserver-master/calendarserver/tools/upgrade.py", line 27, in <module>
    from txdav.common.datastore.sql import CommonDataStore
  File "/srv/sync/ccs/ccs-calendarserver-master/txdav/common/datastore/sql.py", line 85, in <module>
    from calendarserver.tools.util import displayNameForCollection, getEventDetails, agoString
  File "/srv/sync/ccs/ccs-calendarserver-master/calendarserver/tools/util.py", line 37, in <module>
    from twistedcaldav.stdconfig import DEFAULT_CONFIG_FILE
  File "/srv/sync/ccs/ccs-calendarserver-master/twistedcaldav/stdconfig.py", line 1866, in <module>
    config.update()
  File "/srv/sync/ccs/ccs-calendarserver-master/twistedcaldav/config.py", line 240, in update
    hook(self._data, reloading=reloading)
  File "/srv/sync/ccs/ccs-calendarserver-master/twistedcaldav/stdconfig.py", line 1504, in _postUpdateResourceService
    from twistedcaldav.upgrade import upgradeResourcesXML
  File "/srv/sync/ccs/ccs-calendarserver-master/twistedcaldav/upgrade.py", line 66, in <module>
    from calendarserver.tap.util import getRootResource, FakeRequest
  File "/srv/sync/ccs/ccs-calendarserver-master/calendarserver/tap/util.py", line 38, in <module>
    from calendarserver.tools.util import checkDirectory
ImportError: cannot import name checkDirectory

This seems to be some kind of cyclic import as from calendarserver.tools.util appears twice