diff --git a/python/ycm/paths.py b/python/ycm/paths.py index e23522a3..b215f8a7 100644 --- a/python/ycm/paths.py +++ b/python/ycm/paths.py @@ -29,10 +29,10 @@ import vim import functools import re +# Can't import these from setup.py because it makes nosetests go crazy. DIR_OF_CURRENT_SCRIPT = os.path.dirname( os.path.abspath( __file__ ) ) DIR_OF_YCMD = os.path.join( DIR_OF_CURRENT_SCRIPT, '..', '..', 'third_party', 'ycmd' ) - WIN_PYTHON_PATH = os.path.join( sys.exec_prefix, 'python.exe' ) PYTHON_BINARY_REGEX = re.compile( r'python(2(\.[67])?)?(.exe)?$' ) diff --git a/python/ycm/setup.py b/python/ycm/setup.py index 8fadccfd..7f09c71d 100644 --- a/python/ycm/setup.py +++ b/python/ycm/setup.py @@ -15,25 +15,36 @@ # You should have received a copy of the GNU General Public License # along with YouCompleteMe. If not, see . +from __future__ import unicode_literals +from __future__ import print_function +from __future__ import division +from __future__ import absolute_import +# No imports from `future` because when this is loaded, sys.path hasn't been set +# up yet! + import sys import os -import paths + +# Can't import these from paths.py because that uses `future` imports +DIR_OF_CURRENT_SCRIPT = os.path.dirname( os.path.abspath( __file__ ) ) +DIR_OF_YCMD = os.path.join( DIR_OF_CURRENT_SCRIPT, '..', '..', 'third_party', + 'ycmd' ) def SetUpSystemPaths(): - sys.path.insert( 0, os.path.join( paths.DIR_OF_YCMD ) ) + sys.path.insert( 0, os.path.join( DIR_OF_YCMD ) ) from ycmd import server_utils as su - su.AddNearestThirdPartyFoldersToSysPath( paths.DIR_OF_CURRENT_SCRIPT ) + su.AddNearestThirdPartyFoldersToSysPath( DIR_OF_CURRENT_SCRIPT ) # We need to import ycmd's third_party folders as well since we import and # use ycmd code in the client. su.AddNearestThirdPartyFoldersToSysPath( su.__file__ ) def SetUpYCM(): - import base + from ycm import base, paths from ycmd import user_options_store, utils - from youcompleteme import YouCompleteMe + from ycm.youcompleteme import YouCompleteMe base.LoadJsonDefaultsIntoVim()