win10 python3 install mkdocs

本文档详细介绍了如何在存在多个Python版本的环境中,正确配置Python环境以安装和使用mkdocs。作者通过创建批处理脚本来指定Python3.10.4的路径,确保环境变量正确,并更新pip到最新版本。之后,卸载并重新安装mkdocs,避免了因版本冲突导致的问题。最终,成功运行mkdocs并展示了其使用方法。
部署运行你感兴趣的模型镜像

前言

想用mkdocs做本地资源的管理。
去mkdocs主页上,看到的安装指导并不好使。
部分原因是:我计算机上,安装其他软件时,带了很多不同版本的py2,py3. 在环境变量中指定的都是最后安装的python.
要先调整环境变量,再安装。
如果为了不影响其他已经安装软件的正常使用,最好自己写个bat, 在bat里面,将自己手工装的符合要求的python的exe路径加到path变量中。启动自己的bat, 启动python后,这时环境才符合mkdocs要求。

值得注意:

  • python3环境变量有3个
    1 python3 的exe路径 \Python310
    2 python3 的另外一个exe路径 \Python310\Scripts,这个第2个路径,要看原始环境变量中其他版本python的环境变量写法,漏掉这个脚本路径不行的。
    3 python3的库路径 \Python310\Lib

当自己计算机上有其他软件顺带装的不同版本的py2, py3时,必须要将这3个python3的变量都调整好,才能正确安装,运行mkdocs.

看其他资料时,人家安装都很顺利。估计是他们计算机上原来没有装python, 或者其他软件带的python都是python3. 反正没看到资料上有说,安装时,谁安装失败的问题。

实验

mkdoc主页

https://www.mkdocs.org/

mkdoc安装要求

https://www.mkdocs.org/user-guide/installation/
mkdocs要求用最新版的python(看文档上用的python3)和自带的pip(Python package manager)

值得注意,官方文档上用的python3版本是3.8.2,和最新版的py3.10.4的pip用法并不一样。py3.10.4用的是pip3, 而不是pip. 严重怀疑mkdocs官方文档没有及时更新。

python主页

https://www.python.org/
可以看到当前最新的py3是 3.10.4,最新的py2 是 2.7.18
下载最新的py3.10.4 Windows installer (64-bit) => python-3.10.4-amd64.exe

安装 python-3.10.4-amd64.exe

写一个脚本,来启动python3.10.4

写脚本的原因,是我计算机上有其他软件装的不同版本的py2,py3, 有好几个个版本…, 不同位置的python.exe有14个…
在这里插入图片描述
如果在命令行启动python, 根据环境变量的不同,一定不是我刚装的py3.
写脚本的好处,不用去修改原来计算机中的环境变量,不影响计算机中其他软件的运行。

写好的bat脚本 python_v3_10_4_env.cmd 如下:

@echo off
rem 运行环境 win10

rem ================================================================================
rem 变量定义
rem ================================================================================
SETLOCAL ENABLEDELAYEDEXPANSION

rem 定义变量 - python 路径
set VAR_PYTHON_PATH = ""
set VAR_PYTHON_LIB_PATH = ""

rem ================================================================================
rem 脚本逻辑处理
rem ================================================================================

rem 清屏
cls

call :fn_newline
call :fn_tipline
@echo 关回显
call :fn_tipline

call :fn_newline
call :fn_tipline
@echo (e.g. 使用vscode)编辑此文件时, 文件编码必须为GB2312
call :fn_tipline

call :fn_newline
call :fn_tipline
@echo 进入cmd所在目录
call :fn_tipline
cd /d %~sdp0
echo %~sdp0

call :fn_newline
call :fn_tipline
@echo 添加python3到环境变量的前面(优先搜索)
@echo 刚装了当前最新的python3(python-3.10.4-amd64.exe)
rem USERPROFILE=C:\Users\me
rem LOCALAPPDATA=C:\Users\me\AppData\Local
rem C:\Users\me\AppData\Local\Programs\Python\Python310\python.exe
call :fn_tipline
rem 赋值时,等号和变量之间不能有空格

rem python3要加的可执行路径一共2个
rem \Python310
rem \Python310\Scripts

rem add \Python310 to path
set VAR_PYTHON_PATH=%LOCALAPPDATA%\Programs\Python\Python310
set PATH=%VAR_PYTHON_PATH%;%PATH%

rem add \Python310\Scripts to path
set VAR_PYTHON_PATH=%LOCALAPPDATA%\Programs\Python\Python310\Scripts 
set PATH=%VAR_PYTHON_PATH%;%PATH%

rem 显示当前的path环境变量
set %PATH%

@echo 添加python3库路径
rem C:\Users\me\AppData\Local\Programs\Python\Python310\Lib
set VAR_PYTHON_LIB_PATH=%VAR_PYTHON_PATH%\Lib
echo %VAR_PYTHON_LIB_PATH%
set PYTHONPATH=%VAR_PYTHON_LIB_PATH%
set PYTHONPATH

call :fn_newline
call :fn_tipline
@echo 显示环境变量
call :fn_tipline
rem set %path%

call :fn_newline
call :fn_tipline
@echo 查看在环境变量中搜索到的第1个python的版本
call :fn_tipline
rem echo %VAR_PYTHON_PATH%\python.exe
rem %VAR_PYTHON_PATH%\python.exe -V
python -V

rem start 环境变量传递
rem 这时再调用的程序,使用的环境变量,就是修改完的环境变量
rem start python
call cmd

goto END_BAT

rem ================================================================================
rem 函数定义区
rem ================================================================================

rem 函数 : 换行
:fn_newline
    @echo on
    @echo.
    @echo off
    rem echo. 必须在echo on 下才有效果
goto :eof

rem 函数 : 打印提示行
:fn_tipline
    @echo ================================================================================
goto :eof

rem ================================================================================
rem 脚本结束点
rem ================================================================================

:END_BAT
@echo THE END
call :fn_newline

用脚本启动py3.10.4环境
在这里插入图片描述

可以看到py3.10.4的path环境变量(2处),库路径都设置了。
py3的版本也是刚装的最新版py3.10.4

需要注意,所有的命令都要在这个bat脚本的cmd窗口中完成,用来保证是py3.10.4干的活,而不是其他版本的py干的活。

更新pip

根据mkdocs文档,去下载 https://bootstrap.pypa.io/get-pip.py到本地,和bat放在一起
在这里插入图片描述

更新pip

运行 python get-pip.py

E:\tools\python>python get-pip.py
Collecting pip
  Using cached pip-22.0.4-py3-none-any.whl (2.1 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 22.0.4
    Uninstalling pip-22.0.4:
      Successfully uninstalled pip-22.0.4
Successfully installed pip-22.0.4

卸载mkdocs

有可能有意外情况,哪步做错了(如果安装官方错误文档 先运行了 pip install mkdocs),导致mkdocs运行报错。这时,先卸载mkdocs,再安装mkdocs, 就可以正常使用了。

pip3 uninstall mkdocs

安装mkdocs

运行 pip3 install mkdocs
这里mkdocs官方文档写错了,他写的是 pip install mkdocs
这里的pip, pip3都是目录Python310\Scripts下的exe
在这里插入图片描述
看看官方错误的安装,只是看看,不要运行官方错误的命令

E:\tools\python>pip install mkdocs
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
Requirement already satisfied: mkdocs in c:\python27\lib\site-packages (1.0.4)
Requirement already satisfied: Jinja2>=2.7.1 in c:\python27\lib\site-packages (from mkdocs) (2.11.3)
Requirement already satisfied: click>=3.3 in c:\python27\lib\site-packages (from mkdocs) (7.1.2)
Requirement already satisfied: livereload>=2.5.1 in c:\python27\lib\site-packages (from mkdocs) (2.6.3)
Requirement already satisfied: tornado>=5.0 in c:\python27\lib\site-packages (from mkdocs) (5.1.1)
Requirement already satisfied: Markdown>=2.3.1 in c:\python27\lib\site-packages (from mkdocs) (3.1.1)
Requirement already satisfied: PyYAML>=3.10 in c:\python27\lib\site-packages (from mkdocs) (5.4.1)
Requirement already satisfied: MarkupSafe>=0.23 in c:\python27\lib\site-packages (from Jinja2>=2.7.1->mkdocs) (1.1.1)
Requirement already satisfied: six in c:\python27\lib\site-packages (from livereload>=2.5.1->mkdocs) (1.16.0)
Requirement already satisfied: futures in c:\python27\lib\site-packages (from tornado>=5.0->mkdocs) (3.3.0)
Requirement already satisfied: singledispatch in c:\python27\lib\site-packages (from tornado>=5.0->mkdocs) (3.7.0)
Requirement already satisfied: backports_abc>=0.4 in c:\python27\lib\site-packages (from tornado>=5.0->mkdocs) (0.5)
Requirement already satisfied: setuptools>=36 in c:\python27\lib\site-packages (from Markdown>=2.3.1->mkdocs) (41.2.0)

虽然没报错,但是安装后的目录都是py2.7的目录, 且运行mkdocs时报错。

必须要使用 pip3 install mkdocs 来安装

E:\tools\python>pip3 install mkdocs
Requirement already satisfied: mkdocs in c:\users\chenx\appdata\local\programs\python\python310\lib\site-packages (1.3.0)
Requirement already satisfied: watchdog>=2.0 in c:\users\chenx\appdata\local\programs\python\python310\lib\site-packages (from mkdocs) (2.1.7)
Requirement already satisfied: ghp-import>=1.0 in c:\users\chenx\appdata\local\programs\python\python310\lib\site-packages (from mkdocs) (2.0.2)
Requirement already satisfied: Jinja2>=2.10.2 in c:\users\chenx\appdata\local\programs\python\python310\lib\site-packages (from mkdocs) (3.1.1)
Requirement already satisfied: pyyaml-env-tag>=0.1 in c:\users\chenx\appdata\local\programs\python\python310\lib\site-packages (from mkdocs) (0.1)
Requirement already satisfied: mergedeep>=1.3.4 in c:\users\chenx\appdata\local\programs\python\python310\lib\site-packages (from mkdocs) (1.3.4)
Requirement already satisfied: Markdown>=3.2.1 in c:\users\chenx\appdata\local\programs\python\python310\lib\site-packages (from mkdocs) (3.3.6)
Requirement already satisfied: click>=3.3 in c:\users\chenx\appdata\local\programs\python\python310\lib\site-packages (from mkdocs) (8.1.2)
Requirement already satisfied: importlib-metadata>=4.3 in c:\users\chenx\appdata\local\programs\python\python310\lib\site-packages (from mkdocs) (4.11.3)
Requirement already satisfied: PyYAML>=3.10 in c:\users\chenx\appdata\local\programs\python\python310\lib\site-packages (from mkdocs) (6.0)
Requirement already satisfied: packaging>=20.5 in c:\users\chenx\appdata\local\programs\python\python310\lib\site-packages (from mkdocs) (21.3)
Requirement already satisfied: colorama in c:\users\chenx\appdata\local\programs\python\python310\lib\site-packages (from click>=3.3->mkdocs) (0.4.4)
Requirement already satisfied: python-dateutil>=2.8.1 in c:\users\chenx\appdata\local\programs\python\python310\lib\site-packages (from ghp-import>=1.0->mkdocs) (2.8.2)
Requirement already satisfied: zipp>=0.5 in c:\users\chenx\appdata\local\programs\python\python310\lib\site-packages (from importlib-metadata>=4.3->mkdocs) (3.8.0)
Requirement already satisfied: MarkupSafe>=2.0 in c:\users\chenx\appdata\local\programs\python\python310\lib\site-packages (from Jinja2>=2.10.2->mkdocs) (2.1.1)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in c:\users\chenx\appdata\local\programs\python\python310\lib\site-packages (from packaging>=20.5->mkdocs) (3.0.8)
Requirement already satisfied: six>=1.5 in c:\users\chenx\appdata\local\programs\python\python310\lib\site-packages (from python-dateutil>=2.8.1->ghp-import>=1.0->mkdocs) (1.16.0)

可以看到安装到的目录都是py3.10.4的目录。

尝试运行mkdocs

输入 mkdocs,只要出来mkdocs使用方法的提示信息,就说明mkdocs已经安装成功了。

E:\tools\python>mkdocs
Usage: mkdocs [OPTIONS] COMMAND [ARGS]...

  MkDocs - Project documentation with Markdown.

Options:
  -V, --version  Show the version and exit.
  -q, --quiet    Silence warnings
  -v, --verbose  Enable verbose output
  -h, --help     Show this message and exit.

Commands:
  build      Build the MkDocs documentation
  gh-deploy  Deploy your documentation to GitHub Pages
  new        Create a new MkDocs project
  serve      Run the builtin development server

E:\tools\python>

mkdocs的使用

mkdocs的使用,资料很多。而且每个版本的使用兼容性都挺好的。去查资料一大把。

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值