def generate_pythonrc_stuff(venv_base, layout, sitepackages, prompt): ''' insert correct lib dirs into pythonrc.py ''' # load pythonrc.py file base = path.dirname(rvirtualenv.__file__) f = open(path.join(base, 'template', 'venv', 'pythonrc.py'), 'r') content = f.read() f.close() if layout is None: layout = guess_scheme() # replace pattern in pythonrc.py patrn = "scheme = 'custom'" repl = "scheme = '%s'" % layout content = content.replace(patrn, repl) # update no-site-packages option patrn = "sitepackages = True" repl = "sitepackages = %s" % sitepackages content = content.replace(patrn, repl) # set custom prompt patrn = "#prompt = '[CUSTOM]' # set your custom prompt prefix (see -p option)" repl = "prompt = %r" % prompt if prompt is not None: content = content.replace(patrn, repl) # write it f = open(path.join(venv_base, 'pythonrc.py'), 'w') f.write(content) f.close()
def test_venv_without_site_packages(self): ''' setuptools installed system-wide is needed for this test ''' v1 = path.join(self.directory, 'PY1') py1 = path.join(get_scheme(guess_scheme(), 'scripts', vars={'base': v1}), 'python.py') self.install_venv(args=[], virtualenv=v1) cmd = '%s %s -c "import setuptools"' % (sys.executable, py1) stdout, stderr = self.run_command(cmd) self.failUnlessEqual('', stderr.strip()) self.failUnlessEqual('', stdout.strip()) v2 = path.join(self.directory, 'PY2') py2 = path.join(get_scheme(guess_scheme(), 'scripts', vars={'base': v2}), 'python.py') self.install_venv(args=['--no-site-packages'], virtualenv=v2) cmd = '%s %s -c "import setuptools"' % (sys.executable, py2) stdout, stderr = self.run_command(cmd) self.assertTrue('ImportError: No module named setuptools' in stderr)
def test_venv_without_site_packages(self): ''' setuptools installed system-wide is needed for this test ''' v1 = path.join(self.directory, 'PY1') py1 = path.join( get_scheme(guess_scheme(), 'scripts', vars={'base': v1}), 'python.py') self.install_venv(args=[], virtualenv=v1) cmd = '%s %s -c "import setuptools"' % (sys.executable, py1) stdout, stderr = self.run_command(cmd) self.failUnlessEqual('', stderr.strip()) self.failUnlessEqual('', stdout.strip()) v2 = path.join(self.directory, 'PY2') py2 = path.join( get_scheme(guess_scheme(), 'scripts', vars={'base': v2}), 'python.py') self.install_venv(args=['--no-site-packages'], virtualenv=v2) cmd = '%s %s -c "import setuptools"' % (sys.executable, py2) stdout, stderr = self.run_command(cmd) self.assertTrue('ImportError: No module named setuptools' in stderr)
def test_whole_generate(self, layout=None): copy(self.virtualenv) generate(self.virtualenv, layout=layout) structure = store_directory_structure(self.virtualenv, content='<file>') if layout is None: layout = guess_scheme() paths = set((i for i,j in structure)) vars = {'base': self.virtualenv} self.assertTrue(get_scheme(layout, 'purelib', vars=vars) in paths) self.assertTrue(get_scheme(layout, 'scripts', vars=vars) in paths) pybin = path.join(get_scheme(layout, 'scripts', vars=vars), 'python.py') self.assertTrue(path.exists(pybin)) pyrc = path.join(self.virtualenv, 'pythonrc.py') self.assertTrue(path.exists(pyrc)) content = open(pyrc, 'r').read() self.assertFalse("scheme = 'custom'" in content)
def test_whole_generate(self, layout=None): copy(self.virtualenv) generate(self.virtualenv, layout=layout) structure = store_directory_structure(self.virtualenv, content='<file>') if layout is None: layout = guess_scheme() paths = set((i for i, j in structure)) vars = {'base': self.virtualenv} self.assertTrue(get_scheme(layout, 'purelib', vars=vars) in paths) self.assertTrue(get_scheme(layout, 'scripts', vars=vars) in paths) pybin = path.join(get_scheme(layout, 'scripts', vars=vars), 'python.py') self.assertTrue(path.exists(pybin)) pyrc = path.join(self.virtualenv, 'pythonrc.py') self.assertTrue(path.exists(pyrc)) content = open(pyrc, 'r').read() self.assertFalse("scheme = 'custom'" in content)
def setUp(self): super(TestRVirtualEnv, self).setUp() vars = {'base': self.virtualenv} self.python = path.join( get_scheme(guess_scheme(), 'scripts', vars=vars), 'python.py')
def setUp(self): super(TestRVirtualEnv, self).setUp() vars = {'base': self.virtualenv} self.python = path.join(get_scheme(guess_scheme(), 'scripts', vars=vars), 'python.py')