Skip to content

Commit bfdccb5

Browse files
committed
improve venv
1 parent bc219fc commit bfdccb5

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

pythonbrew/commands/venv.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,17 @@ def run_command_init(self):
9292
untar_file(download_file, self._venv_dir)
9393

9494
def run_command_create(self, options, args):
95+
if not os.access(PATH_VENVS, os.W_OK):
96+
logger.error("Can not create a virtuale environment in %s.\nPermission denied." % PATH_VENVS)
97+
sys.exit(1)
98+
9599
virtualenv_options = []
96100
if options.no_site_packages:
97101
virtualenv_options.append('--no-site-packages')
98102

99103
for arg in args[1:]:
100104
target_dir = os.path.join(self._workon_home, arg)
101-
logger.log("# Create `%s` environment into %s" % (arg, self._workon_home))
105+
logger.info("Create `%s` environment into %s" % (arg, self._workon_home))
102106
# make command
103107
cmd = [self._py, self._venv, '-p', self._target_py]
104108
cmd.extend(virtualenv_options)
@@ -113,7 +117,10 @@ def run_command_delete(self, options, args):
113117
if not os.path.isdir(target_dir):
114118
logger.error('%s already does not exist.' % target_dir)
115119
else:
116-
logger.log('# Delete `%s` environment in %s' % (arg, self._workon_home))
120+
if not os.access(target_dir, os.W_OK):
121+
logger.error("Can not delete %s.\nPermission denied." % target_dir)
122+
continue
123+
logger.info('Delete `%s` environment in %s' % (arg, self._workon_home))
117124
# make command
118125
rm_r(target_dir)
119126

0 commit comments

Comments
 (0)