python - 如何卸载除 pip 之外的系统 Python 包(最佳实践)
问题描述
我正在尝试遵循 Python 的环境设置最佳实践,如下所述。 https://averlytics.com/2017/08/06/virtual-environment-a-python-best-practice/
这篇文章的重点是只在虚拟环境中安装包,避免在系统上安装任何其他东西。我尝试通过完全删除 Pycharm、Anaconda、Python 并从头开始重新安装它们来遵循这种做法。
之后,我一直尝试在 Pycharm ( venv
) 上设置虚拟环境来完成我的工作。
但是,我认为我pip install ...
在默认终端上犯了一两个错误,导致系统再次安装了软件包。
我真的很想回到最佳实践安装的轨道,但不想经历整个卸载和重新安装过程。
我检查pip list
了我的 PowerShell,但我不知道应该离开哪个,应该卸载哪个,因为也许有一些软件包可以让我的 Anaconda 和 Pycharm 以及整个工作正常。我不想让这个问题成为另一个问题。
我应该怎么办?让他们保持原样是否为时已晚或更好?“保持最少的系统安装并在虚拟环境中完成所有安装”的事情现在仍然有效吗?
我希望有人教我比安装 Python 和首先使用 IDLE 更好。
这是已安装软件包的列表。
PS C:\WINDOWS\system32> pip list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
absl-py (0.2.0)
alabaster (0.7.10)
anaconda-client (1.6.9)
anaconda-navigator (1.8.4)
anaconda-project (0.8.2)
asn1crypto (0.24.0)
astor (0.6.2)
astroid (1.6.1)
astropy (2.0.3)
attrs (17.4.0)
Babel (2.5.3)
backports.shutil-get-terminal-size (1.0.0)
beautifulsoup4 (4.6.0)
bitarray (0.8.1)
bkcharts (0.2)
blaze (0.11.3)
bleach (1.5.0)
bokeh (0.12.13)
boto (2.48.0)
Bottleneck (1.2.1)
certifi (2018.1.18)
cffi (1.11.4)
chardet (3.0.4)
click (6.7)
cloudpickle (0.5.2)
clyent (1.2.2)
colorama (0.3.9)
comtypes (1.1.4)
conda (4.4.10)
conda-build (3.4.1)
conda-verify (2.0.0)
contextlib2 (0.5.5)
cryptography (2.1.4)
cycler (0.10.0)
Cython (0.27.3)
cytoolz (0.9.0)
dask (0.16.1)
datashape (0.5.4)
decorator (4.2.1)
distributed (1.20.2)
docutils (0.14)
entrypoints (0.2.3)
et-xmlfile (1.0.1)
fastcache (1.0.2)
filelock (2.0.13)
Flask (0.12.2)
Flask-Cors (3.0.3)
gast (0.2.0)
gevent (1.2.2)
glob2 (0.6)
greenlet (0.4.12)
grpcio (1.11.0)
h5py (2.7.1)
heapdict (1.0.0)
html5lib (0.9999999)
idna (2.6)
imageio (2.2.0)
imagesize (0.7.1)
ipykernel (4.8.2)
ipython (6.2.1)
ipython-genutils (0.2.0)
ipywidgets (7.1.1)
isort (4.2.15)
itsdangerous (0.24)
jdcal (1.3)
jedi (0.11.1)
Jinja2 (2.10)
jsonschema (2.6.0)
jupyter (1.0.0)
jupyter-client (5.2.2)
jupyter-console (5.2.0)
jupyter-core (4.4.0)
jupyterlab (0.31.4)
jupyterlab-launcher (0.10.2)
lazy-object-proxy (1.3.1)
llvmlite (0.21.0)
locket (0.2.0)
lxml (4.1.1)
Markdown (2.6.11)
MarkupSafe (1.0)
matplotlib (2.1.2)
mccabe (0.6.1)
menuinst (1.4.11)
mistune (0.8.3)
mpmath (1.0.0)
msgpack-python (0.5.1)
multipledispatch (0.4.9)
navigator-updater (0.1.0)
nbconvert (5.3.1)
nbformat (4.4.0)
networkx (2.1)
nltk (3.2.5)
nose (1.3.7)
notebook (5.4.0)
numba (0.36.2)
numexpr (2.6.4)
numpy (1.14.0)
numpydoc (0.7.0)
odo (0.5.1)
olefile (0.45.1)
openpyxl (2.4.10)
packaging (16.8)
pandas (0.22.0)
pandocfilters (1.4.2)
parso (0.1.1)
partd (0.3.8)
path.py (10.5)
pathlib2 (2.3.0)
patsy (0.5.0)
pep8 (1.7.1)
pickleshare (0.7.4)
Pillow (5.0.0)
pip (9.0.1)
pkginfo (1.4.1)
pluggy (0.6.0)
ply (3.10)
prompt-toolkit (1.0.15)
protobuf (3.5.2.post1)
psutil (5.4.3)
py (1.5.2)
pycodestyle (2.3.1)
pycosat (0.6.3)
pycparser (2.18)
pycrypto (2.6.1)
pycurl (7.43.0.1)
pyflakes (1.6.0)
Pygments (2.2.0)
pylint (1.8.2)
pyodbc (4.0.22)
pyOpenSSL (17.5.0)
pyparsing (2.2.0)
PySocks (1.6.7)
pytest (3.3.2)
python-dateutil (2.6.1)
pytz (2017.3)
PyWavelets (0.5.2)
pywin32 (222)
pywinpty (0.5)
PyYAML (3.12)
pyzmq (16.0.3)
QtAwesome (0.4.4)
qtconsole (4.3.1)
QtPy (1.3.1)
requests (2.18.4)
rope (0.10.7)
ruamel-yaml (0.15.35)
scikit-image (0.13.1)
scikit-learn (0.19.1)
scipy (1.0.0)
seaborn (0.8.1)
Send2Trash (1.4.2)
setuptools (38.4.0)
simplegeneric (0.8.1)
singledispatch (3.4.0.3)
six (1.11.0)
snowballstemmer (1.2.1)
sortedcollections (0.5.3)
sortedcontainers (1.5.9)
Sphinx (1.6.6)
sphinxcontrib-websupport (1.0.1)
spyder (3.2.6)
SQLAlchemy (1.2.1)
statsmodels (0.8.0)
sympy (1.1.1)
tables (3.4.2)
tblib (1.3.2)
tensorboard (1.8.0)
tensorflow (1.8.0)
termcolor (1.1.0)
terminado (0.8.1)
testpath (0.3.1)
toolz (0.9.0)
tornado (4.5.3)
traitlets (4.3.2)
typing (3.6.2)
unicodecsv (0.14.1)
urllib3 (1.22)
wcwidth (0.1.7)
webencodings (0.5.1)
Werkzeug (0.14.1)
wheel (0.30.0)
widgetsnbextension (3.1.0)
win-inet-pton (1.0.1)
win-unicode-console (0.5)
wincertstore (0.2)
wrapt (1.10.11)
xlrd (1.1.0)
XlsxWriter (1.0.2)
xlwings (0.11.5)
xlwt (1.3.0)
zict (0.1.3)
解决方案
将已安装包的列表创建为文件:
pip freeze > requirements.txt
编辑 txt 文件以排除您要保留的任何包。从您的列表中,我认为 python 附带的唯一软件包是 pip 和 setuptools。通常 virtualenv 也在那里,但我没有在你的列表中看到它。您可以删除除那些之外的所有内容,然后运行
pip uninstall -r requirements.txt
或一次全部删除:
pip uninstall -r requirements.txt -y
或者,您可以随时删除安装并重新安装。
看起来你有点乱,所以这可能是我会做的。
如果您有很多 virtualenvs,您可能需要在重新安装 python 后重新创建它们,因此请确保您在每个 virtualenv 项目中的 requirements.txt 文件中写入了依赖项
推荐阅读
- r - 如果一个变量“太恒定”,R Mclust(data, G = 1) 会给出奇怪的 Sigma 输出吗?
- css - 如何在css中创建6面形状
- css - CSS 选择器 - 匹配表格中的相对文本
- progressive-web-apps - PWA-检测安装结束
- react-native - 如何将 Expo 连接到 Ganache
- microsoft-graph-api - 获取 Outlook 电子邮件附件
- python - 针对多个处理程序的 Python 日志记录不起作用
- python - Python单元测试assert_call对象方法里面的对象方法
- package - 如何将带有 python 特定轮子的包发布到 GitLab 包注册表和 twine
- go - 检索json中嵌入数组的值