在Python中我们在项目中会用到各种库,自带的自然不必再说,然而如果是三方库,则在进行项目移植时通常需要在新的环境下安装需要的三方库文件,面对较大项目中众多的三方库,可以先将项目依赖库导出到txt文件中,
导出命令为:
pip freeze > filename.txt
有时候会报错
WARNING: Could not generate requirement for distribution -ip 19.2.3 (h:\dev\python\3.8\lib\site-packages): Parse error at "'-ip==19.'": Expected W:(abcd...)
换成这样就可以了
pip list >requirements.txt
,其中filename可以自己定义。
生成文件如下
asn1crypto==0.24.0
attrs==18.2.0
Automat==0.7.0
certifi==2018.11.29
cffi==1.11.5
chardet==3.0.4
constantly==15.1.0
cryptography==2.5
cssselect==1.0.3
Django==2.1.7
goto-statement==1.2
hyperlink==18.0.0
idna==2.8
image==1.5.27
incremental==17.5.0
lxml==4.3.0
numpy==1.16.2
opencv-python==4.0.0.21
parsel==1.5.1
Pillow==5.4.1
pyasn1==0.4.5
pyasn1-modules==0.2.4
pycparser==2.19
PyDispatcher==2.0.5
PyHamcrest==1.9.0
pymssql==2.1.4
pyOpenSSL==19.0.0
pyperclip==1.7.0
pypiwin32==223
pytesseract==0.2.6
pytz==2018.9
pywin32==224
queuelib==1.5.0
requests==2.21.0
Scrapy==1.5.2
selenium==3.141.0
service-identity==18.1.0
six==1.12.0
threadpool==1.3.2
timeunit==1.1.0
Twisted==18.9.0
urllib3==1.24.1
w3lib==1.20.0
web.py==0.40.dev0
zope.interface==4.6.0
在新环境下安装移植项目依赖的三方库方法为:
pip install -r filename.txt
在其他情况下,我们也可以先将所有要安装的库列在txt文件中,然后再执行pip install -r filename.txt的方式去批量安装。
笔者在共享服务器上无root权限,而管理员安装的python包之间版本不匹配(经典的numpy binary incompatibility runtime warning),所以需要本地重安装覆盖原版本。常用的”compile from source+change PYTHONPATH”的方法太麻烦了,阅读文档发现个用pip的简单方法:
pip install --user -I <package_name>
其中--user用于本地安装,无需root权限;-I强制重安装。