安装下载的python包
今天安装一个python版本的软件包——-Community Water Model (CWatM v1.04),出现了各种问题,比较具有一般性。介绍一下自己的安装过程、出现的问题及解决方案。
1 问题描述
下载的软件包的目录结构为:
1级目录:
2级目录:
3级目录:
在pycharm里打开1级目录下的run_cwatm.py时,出现以下提示:
会发现cwatm有红色波浪下划线,提示这不是一个模块,对照前面的目录,会发现他是一个目录,anagement_modules也是文件夹,configuration是py文件。
2 解决方案
2.1 常用软件包
常用软件包,可以通过pip安装。
执行:pip install XX
可以发现python安装目录下的 \Lib\site-packages、\Scripts文件夹下生成了可执行文件。
2.2 自己下载的软件包
不可以直接执行,会出现如上的报错,需要先执行setup.py。
执行:python setup.py install
同样可以发现python安装目录下的 \Lib\site-packages、\Scripts文件夹下生成了可执行文件,则不会出现上述的错误信息。
2.3 说明
通常自己下载的软件包的安装分为两步:
python setup.py build
python setup.py install
可分开执行, 也可只执行python setup.py install。
因为python setup.py install总是会先build后install。
3 执行过程
3.1 执行python setup.py install
报错:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x90 in position 2: invalid start byte in scripts/pyflow.exe file at path: e:\python\lib\site-packages\pyflow-0.2.7-py3.8-win-amd64.egg\EGG-INFO\scripts\pyflow.exe
提示是编码问题…utf-8???
但是在指定的目录下(e:\python\lib\site-packages\pyflow-0.2.7-py3.8-win-amd64.egg\EGG-INFO\scripts\pyflow.exe)确实存在pyflow.exe
****可以看到这就是python安装目录,在一大神的指导下,决定自己用pip安装pyflow.exe。
F:\Code_python\CWatM-version091>python setup.py install
running install
running bdist_egg
running egg_info
writing CWatM.egg-info\PKG-INFO
writing dependency_links to CWatM.egg-info\dependency_links.txt
writing entry points to CWatM.egg-info\entry_points.txt
writing requirements to CWatM.egg-info\requires.txt
writing top-level names to CWatM.egg-info\top_level.txt
package init file 'cwatm\hydrological_modules\groundwater_modflow\__init__.py' not found (or not a regular file)
reading manifest file 'CWatM.egg-info\SOURCES.txt'
writing manifest file 'CWatM.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
creating build\bdist.win-amd64\egg
creating build\bdist.win-amd64\egg\cwatm
copying build\lib\cwatm\cwatm_dynamic.py -> build\bdist.win-amd64\egg\cwatm
copying build\lib\cwatm\cwatm_initial.py -> build\bdist.win-amd64\egg\cwatm
copying build\lib\cwatm\cwatm_model.py -> build\bdist.win-amd64\egg\cwatm
creating build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\capillarRise.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\environflow.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\evaporation.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\evaporationPot.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\groundwater.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
creating build\bdist.win-amd64\egg\cwatm\hydrological_modules\groundwater_modflow
copying build\lib\cwatm\hydrological_modules\groundwater_modflow\groundwater_modflow.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\groundwater_modflow
copying build\lib\cwatm\hydrological_modules\groundwater_modflow\ModFlow_modelV5.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\groundwater_modflow
copying build\lib\cwatm\hydrological_modules\groundwater_modflow\modflow_steady_transient.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\groundwater_modflow
copying build\lib\cwatm\hydrological_modules\inflow.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\initcondition.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\interception.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\lakes_reservoirs.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\lakes_res_small.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\landcoverType.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\miscInitial.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\readmeteo.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
creating build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs
copying build\lib\cwatm\hydrological_modules\routing_reservoirs\routing_kinematic.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs
copying build\lib\cwatm\hydrological_modules\routing_reservoirs\routing_sub.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs
copying build\lib\cwatm\hydrological_modules\routing_reservoirs\t5.cpp -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs
copying build\lib\cwatm\hydrological_modules\routing_reservoirs\t5.dll -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs
copying build\lib\cwatm\hydrological_modules\routing_reservoirs\t5cyg.so -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs
copying build\lib\cwatm\hydrological_modules\routing_reservoirs\t5_linux.o -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs
copying build\lib\cwatm\hydrological_modules\routing_reservoirs\t5_linux.so -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs
copying build\lib\cwatm\hydrological_modules\routing_reservoirs\__init__.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs
copying build\lib\cwatm\hydrological_modules\runoff_concentration.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\sealed_water.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\snow_frost.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\soil.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\waterbalance.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\waterdemand.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\waterquality1.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\__init__.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
creating build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\checks.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\configuration.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\data_handling.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\dynamicModel.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\globals.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\messages.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\output.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\replace_pcr.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\timestep.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\__init__.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\metaNetcdf.xml -> build\bdist.win-amd64\egg\cwatm
copying build\lib\cwatm\run_cwatm.py -> build\bdist.win-amd64\egg\cwatm
copying build\lib\cwatm\__init__.py -> build\bdist.win-amd64\egg\cwatm
byte-compiling build\bdist.win-amd64\egg\cwatm\cwatm_dynamic.py to cwatm_dynamic.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\cwatm_initial.py to cwatm_initial.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\cwatm_model.py to cwatm_model.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\capillarRise.py to capillarRise.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\environflow.py to environflow.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\evaporation.py to evaporation.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\evaporationPot.py to evaporationPot.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\groundwater.py to groundwater.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\groundwater_modflow\groundwater_modflow.py to groundwater_modflow.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\groundwater_modflow\ModFlow_modelV5.py to ModFlow_modelV5.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\groundwater_modflow\modflow_steady_transient.py to modflow_steady_transient.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\inflow.py to inflow.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\initcondition.py to initcondition.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\interception.py to interception.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\lakes_reservoirs.py to lakes_reservoirs.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\lakes_res_small.py to lakes_res_small.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\landcoverType.py to landcoverType.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\miscInitial.py to miscInitial.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\readmeteo.py to readmeteo.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs\routing_kinematic.py to routing_kinematic.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs\routing_sub.py to routing_sub.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs\__init__.py to __init__.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\runoff_concentration.py to runoff_concentration.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\sealed_water.py to sealed_water.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\snow_frost.py to snow_frost.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\soil.py to soil.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\waterbalance.py to waterbalance.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\waterdemand.py to waterdemand.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\waterquality1.py to waterquality1.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\__init__.py to __init__.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\checks.py to checks.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\configuration.py to configuration.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\data_handling.py to data_handling.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\dynamicModel.py to dynamicModel.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\globals.py to globals.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\messages.py to messages.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\output.py to output.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\replace_pcr.py to replace_pcr.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\timestep.py to timestep.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\__init__.py to __init__.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\run_cwatm.py to run_cwatm.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\__init__.py to __init__.cpython-38.pyc
creating build\bdist.win-amd64\egg\EGG-INFO
copying CWatM.egg-info\PKG-INFO -> build\bdist.win-amd64\egg\EGG-INFO
copying CWatM.egg-info\SOURCES.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying CWatM.egg-info\dependency_links.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying CWatM.egg-info\entry_points.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying CWatM.egg-info\requires.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying CWatM.egg-info\top_level.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying CWatM.egg-info\zip-safe -> build\bdist.win-amd64\egg\EGG-INFO
writing build\bdist.win-amd64\egg\EGG-INFO\native_libs.txt
creating 'dist\CWatM-1.4-py3.8.egg' and adding 'build\bdist.win-amd64\egg' to it
removing 'build\bdist.win-amd64\egg' (and everything under it)
Processing CWatM-1.4-py3.8.egg
Removing e:\python\lib\site-packages\CWatM-1.4-py3.8.egg
Copying CWatM-1.4-py3.8.egg to e:\python\lib\site-packages
CWatM 1.4 is already the active version in easy-install.pth
Installing cwatm-script.py script to E:\python\Scripts
Installing cwatm.exe script to E:\python\Scripts
Installed e:\python\lib\site-packages\cwatm-1.4-py3.8.egg
Processing dependencies for CWatM==1.4
Searching for pyflow
Reading https://pypi.org/simple/pyflow/
Downloading https://files.pythonhosted.org/packages/22/80/40e8b068d22af5b4720fc7745c294dfd6504ffb2a33246016d57e3a9296b/pyflow-0.2.7-py2.py3-none-win_amd64.whl#sha256=7a671f125fe1fb56d87fc9764b2e40ebb1a003c81d4b57da5f5c27a2a8313ee0
Best match: pyflow 0.2.7
Processing pyflow-0.2.7-py2.py3-none-win_amd64.whl
Installing pyflow-0.2.7-py2.py3-none-win_amd64.whl to e:\python\lib\site-packages
Adding pyflow 0.2.7 to easy-install.pth file
Traceback (most recent call last):
File "setup.py", line 6, in <module>
setup(
File "E:\python\lib\site-packages\setuptools\__init__.py", line 144, in setup
return distutils.core.setup(**attrs)
File "E:\python\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "E:\python\lib\distutils\dist.py", line 966, in run_commands
self.run_command(cmd)
File "E:\python\lib\distutils\dist.py", line 985, in run_command
cmd_obj.run()
File "E:\python\lib\site-packages\setuptools\command\install.py", line 67, in run
self.do_egg_install()
File "E:\python\lib\site-packages\setuptools\command\install.py", line 117, in do_egg_install
cmd.run(show_deprecation=False)
File "E:\python\lib\site-packages\setuptools\command\easy_install.py", line 424, in run
self.easy_install(spec, not self.no_deps)
File "E:\python\lib\site-packages\setuptools\command\easy_install.py", line 673, in easy_install
return self.install_item(None, spec, tmpdir, deps, True)
File "E:\python\lib\site-packages\setuptools\command\easy_install.py", line 720, in install_item
self.process_distribution(spec, dist, deps)
File "E:\python\lib\site-packages\setuptools\command\easy_install.py", line 764, in process_distribution
distros = WorkingSet([]).resolve(
File "E:\python\lib\site-packages\pkg_resources\__init__.py", line 781, in resolve
dist = best[req.key] = env.best_match(
File "E:\python\lib\site-packages\pkg_resources\__init__.py", line 1066, in best_match
return self.obtain(req, installer)
File "E:\python\lib\site-packages\pkg_resources\__init__.py", line 1078, in obtain
return installer(requirement)
File "E:\python\lib\site-packages\setuptools\command\easy_install.py", line 692, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
File "E:\python\lib\site-packages\setuptools\command\easy_install.py", line 720, in install_item
self.process_distribution(spec, dist, deps)
File "E:\python\lib\site-packages\setuptools\command\easy_install.py", line 745, in process_distribution
self.install_egg_scripts(dist)
File "E:\python\lib\site-packages\setuptools\command\easy_install.py", line 619, in install_egg_scripts
dist.get_metadata('scripts/' + script_name)
File "E:\python\lib\site-packages\pkg_resources\__init__.py", line 1426, in get_metadata
return value.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte in scripts/pyflow.exe file at path: e:\python\lib\site-packages\pyflow-0.2.7-py3.8-win-amd64.egg\EGG-INFO\scripts\pyflow.exe
3.2 执行pip install pyflow
提示:Requirement already satisfied: pyflow in e:\python\lib\site-packages\pyflow-0.2.7-py3.8-win-amd64.egg (0.2.7)
F:\Code_python\CWatM-version091>pip install pyflow
Requirement already satisfied: pyflow in e:\python\lib\site-packages\pyflow-0.2.7-py3.8-win-amd64.egg (0.2.7)
解决方案:
删除提示的文件夹,因为这个文件夹表明pyflow已经存在。
删除后再次执行pip install pyflow
成功
F:\Code_python\CWatM-version091>pip install pyflow
Collecting pyflow
Downloading pyflow-0.2.7-py2.py3-none-win_amd64.whl (5.6 MB)
|████████████████████████████████| 5.6 MB 409 kB/s
Installing collected packages: pyflow
Successfully installed pyflow-0.2.7
3.3 再次执行python setup.py install
运行成功,无报错信息。
F:\Code_python\CWatM-version091>python setup.py install
running install
running bdist_egg
running egg_info
writing CWatM.egg-info\PKG-INFO
writing dependency_links to CWatM.egg-info\dependency_links.txt
writing entry points to CWatM.egg-info\entry_points.txt
writing requirements to CWatM.egg-info\requires.txt
writing top-level names to CWatM.egg-info\top_level.txt
package init file 'cwatm\hydrological_modules\groundwater_modflow\__init__.py' not found (or not a regular file)
reading manifest file 'CWatM.egg-info\SOURCES.txt'
writing manifest file 'CWatM.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
creating build\bdist.win-amd64\egg
creating build\bdist.win-amd64\egg\cwatm
copying build\lib\cwatm\cwatm_dynamic.py -> build\bdist.win-amd64\egg\cwatm
copying build\lib\cwatm\cwatm_initial.py -> build\bdist.win-amd64\egg\cwatm
copying build\lib\cwatm\cwatm_model.py -> build\bdist.win-amd64\egg\cwatm
creating build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\capillarRise.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\environflow.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\evaporation.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\evaporationPot.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\groundwater.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
creating build\bdist.win-amd64\egg\cwatm\hydrological_modules\groundwater_modflow
copying build\lib\cwatm\hydrological_modules\groundwater_modflow\groundwater_modflow.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\groundwater_modflow
copying build\lib\cwatm\hydrological_modules\groundwater_modflow\ModFlow_modelV5.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\groundwater_modflow
copying build\lib\cwatm\hydrological_modules\groundwater_modflow\modflow_steady_transient.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\groundwater_modflow
copying build\lib\cwatm\hydrological_modules\inflow.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\initcondition.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\interception.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\lakes_reservoirs.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\lakes_res_small.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\landcoverType.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\miscInitial.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\readmeteo.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
creating build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs
copying build\lib\cwatm\hydrological_modules\routing_reservoirs\routing_kinematic.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs
copying build\lib\cwatm\hydrological_modules\routing_reservoirs\routing_sub.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs
copying build\lib\cwatm\hydrological_modules\routing_reservoirs\t5.cpp -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs
copying build\lib\cwatm\hydrological_modules\routing_reservoirs\t5.dll -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs
copying build\lib\cwatm\hydrological_modules\routing_reservoirs\t5cyg.so -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs
copying build\lib\cwatm\hydrological_modules\routing_reservoirs\t5_linux.o -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs
copying build\lib\cwatm\hydrological_modules\routing_reservoirs\t5_linux.so -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs
copying build\lib\cwatm\hydrological_modules\routing_reservoirs\__init__.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs
copying build\lib\cwatm\hydrological_modules\runoff_concentration.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\sealed_water.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\snow_frost.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\soil.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\waterbalance.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\waterdemand.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\waterquality1.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
copying build\lib\cwatm\hydrological_modules\__init__.py -> build\bdist.win-amd64\egg\cwatm\hydrological_modules
creating build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\checks.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\configuration.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\data_handling.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\dynamicModel.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\globals.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\messages.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\output.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\replace_pcr.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\timestep.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\management_modules\__init__.py -> build\bdist.win-amd64\egg\cwatm\management_modules
copying build\lib\cwatm\metaNetcdf.xml -> build\bdist.win-amd64\egg\cwatm
copying build\lib\cwatm\run_cwatm.py -> build\bdist.win-amd64\egg\cwatm
copying build\lib\cwatm\__init__.py -> build\bdist.win-amd64\egg\cwatm
byte-compiling build\bdist.win-amd64\egg\cwatm\cwatm_dynamic.py to cwatm_dynamic.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\cwatm_initial.py to cwatm_initial.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\cwatm_model.py to cwatm_model.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\capillarRise.py to capillarRise.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\environflow.py to environflow.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\evaporation.py to evaporation.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\evaporationPot.py to evaporationPot.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\groundwater.py to groundwater.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\groundwater_modflow\groundwater_modflow.py to groundwater_modflow.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\groundwater_modflow\ModFlow_modelV5.py to ModFlow_modelV5.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\groundwater_modflow\modflow_steady_transient.py to modflow_steady_transient.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\inflow.py to inflow.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\initcondition.py to initcondition.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\interception.py to interception.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\lakes_reservoirs.py to lakes_reservoirs.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\lakes_res_small.py to lakes_res_small.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\landcoverType.py to landcoverType.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\miscInitial.py to miscInitial.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\readmeteo.py to readmeteo.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs\routing_kinematic.py to routing_kinematic.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs\routing_sub.py to routing_sub.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\routing_reservoirs\__init__.py to __init__.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\runoff_concentration.py to runoff_concentration.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\sealed_water.py to sealed_water.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\snow_frost.py to snow_frost.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\soil.py to soil.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\waterbalance.py to waterbalance.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\waterdemand.py to waterdemand.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\waterquality1.py to waterquality1.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\hydrological_modules\__init__.py to __init__.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\checks.py to checks.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\configuration.py to configuration.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\data_handling.py to data_handling.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\dynamicModel.py to dynamicModel.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\globals.py to globals.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\messages.py to messages.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\output.py to output.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\replace_pcr.py to replace_pcr.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\timestep.py to timestep.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\management_modules\__init__.py to __init__.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\run_cwatm.py to run_cwatm.cpython-38.pyc
byte-compiling build\bdist.win-amd64\egg\cwatm\__init__.py to __init__.cpython-38.pyc
creating build\bdist.win-amd64\egg\EGG-INFO
copying CWatM.egg-info\PKG-INFO -> build\bdist.win-amd64\egg\EGG-INFO
copying CWatM.egg-info\SOURCES.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying CWatM.egg-info\dependency_links.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying CWatM.egg-info\entry_points.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying CWatM.egg-info\requires.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying CWatM.egg-info\top_level.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying CWatM.egg-info\zip-safe -> build\bdist.win-amd64\egg\EGG-INFO
writing build\bdist.win-amd64\egg\EGG-INFO\native_libs.txt
creating 'dist\CWatM-1.4-py3.8.egg' and adding 'build\bdist.win-amd64\egg' to it
removing 'build\bdist.win-amd64\egg' (and everything under it)
Processing CWatM-1.4-py3.8.egg
Removing e:\python\lib\site-packages\CWatM-1.4-py3.8.egg
Copying CWatM-1.4-py3.8.egg to e:\python\lib\site-packages
CWatM 1.4 is already the active version in easy-install.pth
Installing cwatm-script.py script to E:\python\Scripts
Installing cwatm.exe script to E:\python\Scripts
Installed e:\python\lib\site-packages\cwatm-1.4-py3.8.egg
Processing dependencies for CWatM==1.4
Searching for pytest-html==2.1.1
Best match: pytest-html 2.1.1
Adding pytest-html 2.1.1 to easy-install.pth file
Using e:\python\lib\site-packages
Searching for pytest==6.0.1
Best match: pytest 6.0.1
Adding pytest 6.0.1 to easy-install.pth file
Installing py.test-script.py script to E:\python\Scripts
Installing py.test.exe script to E:\python\Scripts
Installing pytest-script.py script to E:\python\Scripts
Installing pytest.exe script to E:\python\Scripts
Using e:\python\lib\site-packages
Searching for pyflow==0.2.7
Best match: pyflow 0.2.7
Adding pyflow 0.2.7 to easy-install.pth file
Using e:\python\lib\site-packages
Searching for GDAL==3.1.2
Best match: GDAL 3.1.2
Adding GDAL 3.1.2 to easy-install.pth file
Using e:\python\lib\site-packages
Searching for netCDF4==1.5.4
Best match: netCDF4 1.5.4
Adding netCDF4 1.5.4 to easy-install.pth file
Installing nc3tonc4-script.py script to E:\python\Scripts
Installing nc3tonc4.exe script to E:\python\Scripts
Installing nc4tonc3-script.py script to E:\python\Scripts
Installing nc4tonc3.exe script to E:\python\Scripts
Installing ncinfo-script.py script to E:\python\Scripts
Installing ncinfo.exe script to E:\python\Scripts
Using e:\python\lib\site-packages
Searching for scipy==1.5.2
Best match: scipy 1.5.2
Adding scipy 1.5.2 to easy-install.pth file
Using e:\python\lib\site-packages
Searching for numpy==1.19.1
Best match: numpy 1.19.1
Adding numpy 1.19.1 to easy-install.pth file
Installing f2py-script.py script to E:\python\Scripts
Installing f2py.exe script to E:\python\Scripts
Using e:\python\lib\site-packages
Searching for pytest-metadata==1.10.0
Best match: pytest-metadata 1.10.0
Adding pytest-metadata 1.10.0 to easy-install.pth file
Using e:\python\lib\site-packages
Searching for toml==0.10.1
Best match: toml 0.10.1
Adding toml 0.10.1 to easy-install.pth file
Using e:\python\lib\site-packages
Searching for more-itertools==8.4.0
Best match: more-itertools 8.4.0
Adding more-itertools 8.4.0 to easy-install.pth file
Using e:\python\lib\site-packages
Searching for py==1.9.0
Best match: py 1.9.0
Adding py 1.9.0 to easy-install.pth file
Using e:\python\lib\site-packages
Searching for colorama==0.4.3
Best match: colorama 0.4.3
Adding colorama 0.4.3 to easy-install.pth file
Using e:\python\lib\site-packages
Searching for iniconfig==1.0.1
Best match: iniconfig 1.0.1
Adding iniconfig 1.0.1 to easy-install.pth file
Using e:\python\lib\site-packages
Searching for atomicwrites==1.4.0
Best match: atomicwrites 1.4.0
Adding atomicwrites 1.4.0 to easy-install.pth file
Using e:\python\lib\site-packages
Searching for packaging==20.4
Best match: packaging 20.4
Adding packaging 20.4 to easy-install.pth file
Using e:\python\lib\site-packages
Searching for pluggy==0.13.1
Best match: pluggy 0.13.1
Adding pluggy 0.13.1 to easy-install.pth file
Using e:\python\lib\site-packages
Searching for attrs==20.1.0
Best match: attrs 20.1.0
Adding attrs 20.1.0 to easy-install.pth file
Using e:\python\lib\site-packages
Searching for cftime==1.2.1
Best match: cftime 1.2.1
Adding cftime 1.2.1 to easy-install.pth file
Using e:\python\lib\site-packages
Searching for pyparsing==2.4.7
Best match: pyparsing 2.4.7
Adding pyparsing 2.4.7 to easy-install.pth file
Using e:\python\lib\site-packages
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file
Using e:\python\lib\site-packages
Finished processing dependencies for CWatM==1.4
F:\Code_python\CWatM-version091>
3.4 安装成功后的效果
通过以上步骤,已成功安装了该软件,可以从以下几个方面进行验证:
3.4.1 pycharm里没有错误提示
3.4.2 python安装目录出现对应的可执行文件
在python安装目录下的\Scripts文件夹里,也可以看到可执行文件cwatm.exe、cwatm-script.py等。\Lib\site-packages文件夹下也有对应的文件,如下图。