@@ -919,7 +919,7 @@ def do_create_virtualenv(python=None, site_packages=False, pypi_mirror=None):
919
919
pip_config = {}
920
920
921
921
# Actually create the virtualenv.
922
- nospin = os . environ . get ( "PIPENV_ACTIVE" , environments .PIPENV_NOSPIN )
922
+ nospin = environments .PIPENV_NOSPIN
923
923
c = vistir .misc .run (cmd , verbose = False , return_object = True ,
924
924
spinner_name = environments .PIPENV_SPINNER , combine_stderr = False ,
925
925
block = False , nospin = nospin , env = pip_config )
@@ -934,7 +934,7 @@ def do_create_virtualenv(python=None, site_packages=False, pypi_mirror=None):
934
934
project_file_name = os .path .join (project .virtualenv_location , ".project" )
935
935
with open (project_file_name , "w" ) as f :
936
936
f .write (vistir .misc .fs_str (project .project_directory ))
937
-
937
+ fix_venv_site ( project . env_paths [ "lib" ])
938
938
# Say where the virtualenv is.
939
939
do_where (virtualenv = True , bare = False )
940
940
@@ -2039,6 +2039,7 @@ def do_uninstall(
2039
2039
):
2040
2040
from .environments import PIPENV_USE_SYSTEM
2041
2041
from .vendor .requirementslib .models .requirements import Requirement
2042
+ from .vendor .requirementslib .models .lockfile import Lockfile
2042
2043
from .vendor .packaging .utils import canonicalize_name
2043
2044
2044
2045
# Automatically use an activated virtualenv.
@@ -2117,9 +2118,17 @@ def do_uninstall(
2117
2118
)
2118
2119
do_purge (allow_global = system )
2119
2120
removed = package_names - bad_pkgs
2120
- project .remove_packages_from_pipfile (removed )
2121
- if lock :
2122
- do_lock (system = system , keep_outdated = keep_outdated , pypi_mirror = pypi_mirror )
2121
+ if pipfile_remove :
2122
+ project .remove_packages_from_pipfile (removed )
2123
+ if lock :
2124
+ do_lock (system = system , keep_outdated = keep_outdated , pypi_mirror = pypi_mirror )
2125
+ else :
2126
+ lockfile = project .get_or_create_lockfile ()
2127
+ for key in lockfile .default .keys ():
2128
+ del lockfile .default [key ]
2129
+ for key in lockfile .develop .keys ():
2130
+ del lockfile .develop [key ]
2131
+ lockfile .write ()
2123
2132
return
2124
2133
if all_dev :
2125
2134
package_names = develop
@@ -2141,7 +2150,7 @@ def do_uninstall(
2141
2150
# Uninstall the package.
2142
2151
if package_name in packages_to_remove :
2143
2152
cmd = "{0} uninstall {1} -y" .format (
2144
- escape_grouped_arguments (which_pip ()), package_name
2153
+ escape_grouped_arguments (which_pip (allow_global = system )), package_name
2145
2154
)
2146
2155
if environments .is_verbose ():
2147
2156
click .echo ("$ {0}" .format (cmd ))
@@ -2154,6 +2163,19 @@ def do_uninstall(
2154
2163
in_dev_packages = project .get_package_name_in_pipfile (
2155
2164
package_name , dev = True
2156
2165
)
2166
+ if normalized in lockfile_packages :
2167
+ click .echo ("{0} {1} {2} {3}" .format (
2168
+ crayons .blue ("Removing" ),
2169
+ crayons .green (package_name ),
2170
+ crayons .blue ("from" ),
2171
+ crayons .white (fix_utf8 ("Pipfile.lock…" )))
2172
+ )
2173
+ lockfile = project .get_or_create_lockfile ()
2174
+ if normalized in lockfile .default :
2175
+ del lockfile .default [normalized ]
2176
+ if normalized in lockfile .develop :
2177
+ del lockfile .develop [normalized ]
2178
+ lockfile .write ()
2157
2179
if not (in_dev_packages or in_packages ):
2158
2180
if normalized in lockfile_packages :
2159
2181
continue
0 commit comments