path manipulation怎么解决_干货!终于!解决macOS下pyenv安装python3.8.2缺少tkinter模块的问题!...

前言:

笔者不过是一个刚立下flag要学习Python的小白,

(这也是笔者的第一篇网文、知乎文,如果没用,求轻虐),

为此还冲动傻傻地配了一台2019款13寸的MacBook Pro。

电脑配置(作为参考)如下:

MacBook Pro (13-inch, 2019, Four Thunderbolt 3 ports)

系统:macOS Catalina 10.15.4

处理器:2.4 GHz 四核Intel Core i5

内存:16 GB 2133 MHz LPDDR3

显卡:Intel Iris Plus Graphics 655 1536 MB

62641d4c5eb38edc4a0d0e60889d5b02.png

-------------------------------分割线-------------------------------

正文:

我们开始这次撞墙之旅吧~~~

事情的经过是这样的,笔者为了学习Python,在网上翻了很多论坛和帖子,配置好了基本环境。

笔者的环境基本是这样:

1、用Homebrew来管理软件。

2、用iTerm2 + Oh My Zsh代替苹果自带的终端。

3、用pyenv来安装管理Python版本,然后安装了Python3.8.2。

4、用PyCharm来当IDE(集成开发环境)。【懵懵懂懂的笔者看了推荐网文,也偷偷安装了VSCode来假装会用】

随后就天真烂漫地开始了Python400集的视频教程。

c4967a18b07b80bd6748cc389ed93e00.png

万万没想到!!!

到了第5课《Python程序格式_缩进_行注释_段注释》时,笔者就卡住了!!!

这节课的标题看起来没啥问题吧?还只是基础理论的讲解。

可偏偏里面老师讲课时用了这段代码来示范,而且还要学生自己敲一遍。

#导入海龟绘图模块
import turtle
t = turtle.Pen()
#这是一个循坏
for x in range(360):t.forward(x)t.left(59)
'''
测试一下段注释
'''

没错,当笔者用PyCharm敲完代码,run一下,呵呵,报错了。

但大致的跟这个差不多:(当时报错的日志没保存,没想过要写这篇文章哈哈哈哈)

Traceback (most recent call last):File "<stdin>", line 1, in <module>File "/Users/factor/.pyenv/versions/3.8.1/lib/python3.8/tkinter/__init__.py", line 36, in <module>import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'

重点是提示这个:(大概意思就是缺少一个叫tkinter的模块)

ModuleNotFoundError: No module named '_tkinter'

当时笔者是崩溃的,明明照着老师的来敲,怎么就报错了。

笔者不死心,直接复制课件里面的代码,再run一遍,呵呵,还是报错了。

笔者就更加崩溃了,不过遇到问题,只能迎刃而上啊!

于是开始全网搜这个报错的解决办法。

这才发现原来这不是笔者一个人的问题啊,简直是所有人的问题啊!!!

随后笔者跟着网帖的各种教程去弄,还是不行。

期间还出现了新的报错:(当时报错的日志也没保存)

Traceback (most recent call last):File "<stdin>", line 1, in <module>File "/Users/factor/.pyenv/versions/3.8.1/lib/python3.8/tkinter/__init__.py", line 4552, in _testroot = Tk()File "/Users/factor/.pyenv/versions/3.8.1/lib/python3.8/tkinter/__init__.py", line 2263, in __init__self._loadtk()File "/Users/factor/.pyenv/versions/3.8.1/lib/python3.8/tkinter/__init__.py", line 2279, in _loadtkraise RuntimeError("tk.h version (%s) doesn't match libtk.a version (%s)"
RuntimeError: tk.h version (8.6) doesn't match libtk.a version (8.5)

这个报错的重点是:(大概意思就是tk版本不匹配)

RuntimeError: tk.h version (8.6) doesn't match libtk.a version (8.5)

翻了很多论坛和帖子才发现造成问题的原因有很多,结果笔者中招的应该是最多的。

笔者总结网上的三大原因(中间还有很多配置原因就不说了):

1、苹果自带的Python2.7.16和tk8.5版本跟另外安装Python3.8.2不匹配。

2、pyenv能安装管理不同版本的Python,但没有管理tcl-tk的功能。

3、安装Python3.8.2后才安装tcl-tk。

-------------------------------分割线-------------------------------

寻求解决方案期间笔者崩溃了好多次,过程很心酸,就不多说了,直接上干货吧!

解决方案:(大家按照步骤一步步来,应该可以解决,心里还是没自信嘻嘻嘻)

1、确保环境是干净的,不管三七二十一,在终端或iTerm里按顺序执行下面的命令吧。

如果你没有安装过任何东西,只是第一次配置环境,可以跳过第一步。(但执行一下也不会有影响,而且来看这篇文章的应该都已经中超了吧红红火火恍恍惚惚)

pyenv versions

#查看已安装的Python版本

pyenv uninstall <version>

#卸载版本号为<version>的Python,把前面查询到的除了system以外的版本都卸载干净

brew uninstall pyenv

#卸载pyenv

rm -rf ~/.pyenv

#清理pyenv残留文件

brew uninstall tcl-tk

#卸载tcl-tk

rm -rf ~/.tcl-tk

#清理tcl-tk残留文件

brew uninstall zlib

#卸载zlib

rm -rf ~/.zlib

#清理zlib残留文件

brew uninstall python

#卸载通过Homebrew安装的Python版本

brew cleanup

#删除程序,所有程序老版删除

至此,电脑的环境应该是干净的了,至少笔者当时就是操作了这么多来确保干净。

2、保证其他软件更新至最新版本

brew update

#更新软件,把所有的Formula目录更新,并且会对本机已经安装并有更新的软件用*标明。

3、安装zlib并设置配置文件的环境变量

brew install zlib

#安装zlib

设置配置文件的环境变量的方法有两种:

第一种:用vi编辑配置文件,手动添加

vi ~/.bashrc

#如果用苹果自带的终端,请执行这个命令,编辑.bashrc配置文件

vi ~/.zshrc

#如果用iTerm2 + Oh My Zsh,请执行这个命令,编辑.zshrc配置文件

打开~/.bashrc或者~/.zshrc配置文件后,在文件最后添加以下命令

# For compilers to find zlib you may need to set:
export LDFLAGS="${LDFLAGS} -L/usr/local/opt/zlib/lib"
export CPPFLAGS="${CPPFLAGS} -I/usr/local/opt/zlib/include"# For pkg-config to find zlib you may need to set:
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH} /usr/local/opt/zlib/lib/pkgconfig"

编辑添加后,按esc键,然后手动输入:wq(冒号:也需要输入),以保存并推出编辑模式。

第二种:在苹果自带的终端或iTerm里用以下命令直接添加至配置文件

echo '# For compilers to find zlib you may need to set:
export LDFLAGS="${LDFLAGS} -L/usr/local/opt/zlib/lib"
export CPPFLAGS="${CPPFLAGS} -I/usr/local/opt/zlib/include"# For pkg-config to find zlib you may need to set:
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH} /usr/local/opt/zlib/lib/pkgconfig"' >> ~/.bashrc

#如果用苹果自带的终端,请执行这个命令,把设置zlib的环境变量的命令添加至.bashrc配置文件中

echo '# For compilers to find zlib you may need to set:
export LDFLAGS="${LDFLAGS} -L/usr/local/opt/zlib/lib"
export CPPFLAGS="${CPPFLAGS} -I/usr/local/opt/zlib/include"# For pkg-config to find zlib you may need to set:
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH} /usr/local/opt/zlib/lib/pkgconfig"' >> ~/.zshrc

#如果用iTerm2 + Oh My Zsh,请执行这个命令,把设置zlib的环境变量的命令添加至.zshrc配置文件中

#设置zlib的环境变量的命令,具体含义笔者不懂!!!只知道很有用!!!

添加完毕后,执行以下命令或者关闭终端、iTerm窗口重新打开。

source ~/.bashrc

#如果用苹果自带的终端,请执行这个命令,使刚才设置的环境变量命令生效

source ~/.zshrc

#如果用iTerm2 + Oh My Zsh,请执行这个命令,使刚才设置的环境变量命令生效

至此,已经安装并设置好zlib的环境变量,至少笔者看到网文的教程是这样的。

4、安装tcl-tk并设置配置文件的环境变量

brew install tcl-tk

#安装tcl-tk(这个就是前面一直说的tk,非常重要!!!)

设置配置文件的环境变量的方法同样有两种:(但只笔者推荐使用第一种)

第一种:用vi编辑配置文件,手动添加

vi ~/.bashrc

#如果用苹果自带的终端,请执行这个命令,编辑.bashrc配置文件

vi ~/.zshrc

#如果用iTerm2 + Oh My Zsh,请执行这个命令,编辑.zshrc配置文件

打开~/.bashrc或者~/.zshrc配置文件后,在文件中开头部分(这个最好是放在开头,因为读取配置文件时会先运行,所以不建议使用第二种方法,因为命令添加只会添加至文件最后)添加以下命令

#If you need to have tcl-tk first in your PATH run:
export PATH="/usr/local/opt/tcl-tk/bin:$PATH"#For compilers to find tcl-tk you may need to set:
export LDFLAGS="-L/usr/local/opt/tcl-tk/lib"
export CPPFLAGS="-I/usr/local/opt/tcl-tk/include"#For pkg-config to find tcl-tk you may need to set:
export PKG_CONFIG_PATH="/usr/local/opt/tcl-tk/lib/pkgconfig"

编辑添加后,按esc键,然后手动输入:wq(冒号:也需要输入),以保存并推出编辑模式。

第二种:在苹果自带的终端或iTerm里用以下命令直接添加至配置文件(不建议使用这个方法,因为命令添加只会添加至文件最后,当然笔者没试过放在最后效果怎么样)

echo '#If you need to have tcl-tk first in your PATH run:
export PATH="/usr/local/opt/tcl-tk/bin:$PATH"#For compilers to find tcl-tk you may need to set:
export LDFLAGS="-L/usr/local/opt/tcl-tk/lib"
export CPPFLAGS="-I/usr/local/opt/tcl-tk/include"#For pkg-config to find tcl-tk you may need to set:
export PKG_CONFIG_PATH="/usr/local/opt/tcl-tk/lib/pkgconfig"' >> ~/.bashrc

#如果用苹果自带的终端,请执行这个命令,把设置tcl-tk的环境变量的命令添加至.bashrc配置文件中

echo '#If you need to have tcl-tk first in your PATH run:
export PATH="/usr/local/opt/tcl-tk/bin:$PATH"#For compilers to find tcl-tk you may need to set:
export LDFLAGS="-L/usr/local/opt/tcl-tk/lib"
export CPPFLAGS="-I/usr/local/opt/tcl-tk/include"#For pkg-config to find tcl-tk you may need to set:
export PKG_CONFIG_PATH="/usr/local/opt/tcl-tk/lib/pkgconfig"' >> ~/.zshrc

#如果用iTerm2 + Oh My Zsh,请执行这个命令,把设置tcl-tk的环境变量的命令添加至.zshrc配置文件中

#设置tcl-tk的环境变量的命令,具体含义笔者也不懂!!!只知道很有用!!!

添加完毕后,执行以下命令或者关闭终端、iTerm窗口重新打开。

source ~/.bashrc

#如果用苹果自带的终端,请执行这个命令,使刚才设置的环境变量命令生效

source ~/.zshrc

#如果用iTerm2 + Oh My Zsh,请执行这个命令,使刚才设置的环境变量命令生效

至此,已经安装并设置好tcl-tk的环境变量,至少笔者看到网文的教程就是这样的。(记得添加的位置最好在开头部分,提醒四次应该都看到了吧?)

5、安装pyenv并设置配置文件的环境变量

brew install pyenv

#安装pyenv

设置配置文件的环境变量的方法同样有两种:

第一种:用vi编辑配置文件,手动添加

vi ~/.bashrc

#如果用苹果自带的终端,请执行这个命令,编辑.bashrc配置文件

vi ~/.zshrc

#如果用iTerm2 + Oh My Zsh,请执行这个命令,编辑.zshrc配置文件

打开~/.bashrc或者~/.zshrc配置文件后,在文件最后添加以下命令

#For Define environment variable PYENV_ROOT to point to the path where pyenv repo is cloned and add $PYENV_ROOT/bin to your $PATH for access to the pyenv command-line utility:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"#For Add pyenv init to your shell to enable shims and autocompletion. Please make sure eval "$(pyenv init -)" is placed toward the end of the shell configuration file since it manipulates PATH during the initialization:
if command -v pyenv 1>/dev/null 2>&1; theneval "$(pyenv init -)"
fi

编辑添加后,按esc键,然后手动输入:wq(冒号:也需要输入),以保存并推出编辑模式。

第二种:在苹果自带的终端或iTerm里用以下命令直接添加至配置文件

echo '#For Define environment variable PYENV_ROOT to point to the path where pyenv repo is cloned and add $PYENV_ROOT/bin to your $PATH for access to the pyenv command-line utility:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"#For Add pyenv init to your shell to enable shims and autocompletion. Please make sure eval "$(pyenv init -)" is placed toward the end of the shell configuration file since it manipulates PATH during the initialization:
if command -v pyenv 1>/dev/null 2>&1; theneval "$(pyenv init -)"
fi' >> ~/.bashrc

#如果用苹果自带的终端,请执行这个命令,把设置pynev的环境变量的命令添加至.bashrc配置文件中

echo '#For Define environment variable PYENV_ROOT to point to the path where pyenv repo is cloned and add $PYENV_ROOT/bin to your $PATH for access to the pyenv command-line utility:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"#For Add pyenv init to your shell to enable shims and autocompletion. Please make sure eval "$(pyenv init -)" is placed toward the end of the shell configuration file since it manipulates PATH during the initialization:
if command -v pyenv 1>/dev/null 2>&1; theneval "$(pyenv init -)"
fi' >> ~/.zshrc

#如果用iTerm2 + Oh My Zsh,请执行这个命令,把设置pynev的环境变量的命令添加至.zshrc配置文件中

#设置pynev的环境变量的命令,具体含义笔者都不懂!!!只知道很有用!!!

添加完毕后,执行以下命令或者关闭终端、iTerm窗口重新打开。

source ~/.bashrc

#如果用苹果自带的终端,请执行这个命令,使刚才设置的环境变量命令生效

source ~/.zshrc

#如果用iTerm2 + Oh My Zsh,请执行这个命令,使刚才设置的环境变量命令生效

至此,已经安装并设置好pynev的环境变量,至少笔者看到GitHub的pyenv安装说明就是这样的。

6、安装Python3.8.2(截止笔者写完本文的最新版本)并设置默认Python版本

pyenv install -l

#查看可安装的Python版本

pyenv install 3.8.2

# 安装版本号为3.8.2的Python,查看可安装的Python版本后自行选择版本,笔者安装的是Python3.8.2

pyenv global 3.8.2

#通过全局变量设置默认的python版本为3.8.2

至此,已经安装并设置默认Python版本,至少笔者能成功解决Python3.8.2的这个问题。

7、检查环境

(1)

pyenv version

#检查默认的python版本,如果返回以下值即成功

3.8.2 (set by /Users/username/.python-version)

(2)

which python

#检查实际上能够运行命令而不必指定的Python路径,如果返回以下值即成功

/Users/username/.pyenv/shims/python

(3)

python -V

#检查当前使用的Python版本号(注意要用大写的V),如果返回以下值即成功

Python 3.8.2

(4)

which pip

#检查实际上能够运行命令而不必指定的pip路径,如果返回以下值即成功

/Users/username/.pyenv/shims/pip

(5)

pip -V

#检查当前使用的pip版本号(注意要用大写的V),如果返回以下值即成功

pip 20.1.1 from /Users/username/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pip (python 3.8)

pip的版本截止笔者写完本文的最新是20.1.1,如果低于这个版本可以执行以下命令来更新。

pip install --upgrade pip

重点来了!!!重点来了!!!重点来了!!!

干货中的干货!!!干货中的干货!!!干货中的干货!!!

这是笔者最后一个掉进的坑,免得大家也掉坑!!!

笔者翻遍各种论坛和帖子都没有提过这一点,本来看到返回的值不一样时简直面如死灰,但不知道哪里来的灵感让笔者意外操作了这一点,然后所有问题终于迎刃而解了!!!

如果以上检查环境的其中一步或者全部返回的值并不是我们期望的,那么请你再一次执行以下命令。

source ~/.bashrc

#如果用苹果自带的终端,请执行这个命令,使前面我们设置的所有环境变量命令生效

source ~/.zshrc

#如果用iTerm2 + Oh My Zsh,请执行这个命令,使前面我们设置的所有环境变量命令生效

没错!!!干货中的干货只是再一次执行使环境变量命令生效而已!!!

随后笔者再一次检查环境,所有返回的值都正确了。

至此,环境已经检查完毕了。

8、检查tkinter模块运行

idle

#运行IDLE,如果IDLE窗口像下图那样没有任何警告和以红色字体打印的返回的值即成功

4f80236c85b533afc6d68fced3c48728.png
python -m tkinter -c "tkinter._test()"

#运行tcl-tk测试窗口,如果看到下图这样的测试窗口显示Tcl/Tk version 8.6即成功

ba079fa763cd496d5271b9d44ca993a4.png

至此,恭喜你,你已经成功正确安装tcl-tk和Python3.8.2了!!!

笔者随后为了验证实际效果,在PyCharm中再一次run这段代码:

#导入海龟绘图模块
import turtle
t = turtle.Pen()
#这是一个循坏
for x in range(360):t.forward(x)t.left(59)
'''
测试一下段注释
'''

终于可以跑这个图形代码了!!!

b9fee2e4a30377842a1ca8a6d8ec98ee.png

这不正是感动的感觉吗???

简直要哭好吗!!!

终于可以继续看视频学习啦!!!

紧接而来的想法就是,笔者要记下来,不仅为了笔者自己,也为了其他可能会掉坑里的人。

于是这篇知乎文就诞生了,但也在这里结束了。

感谢前人走出来的路和经验,解决这次的问题也参考了很多老前辈的经验,文章末尾会列出帮助过笔者的帖子和文章。

感谢大家的耐心阅读,希望这个方法对你有帮助。

P.S.

可以留意的事项:

1、想要成功,安装前的环境要足够干净!

2、必须先安装好tcl-tk再安装Python!!

3、让配置文件bashrc和zshrc生效非常重要!!!

参考资料:

西毒:iTerm2 + Oh My Zsh 打造舒适终端体验​zhuanlan.zhihu.com
6681fc094a3ae902cdd98b64a743781e.png
Mac上安装Homebrew及常用命令​www.jianshu.com
b5599fba13c98ff6beb5131432bc10d7.png
Mac OS下使用pyenv管理Python版本​www.jianshu.com
0434441ce7603c021c1904b2fbf54827.png
Unable to install tkinter with pyenv Pythons on MacOS​stackoverflow.com
f6add196b9073396e7f88c93ff922bc6.png
pyenv install doesn't work with homebrew installed tcl-tk · Issue #1375 · pyenv/pyenv​github.com
daf4978a8da63fe08ace03c4ff3cb4d6.png
MacOS homebrew python 3.8.1 with tcl-tk (properly)​gist.github.comInstalled Python 3 on Mac OS X but its still Python 2.7​stackoverflow.com
f6add196b9073396e7f88c93ff922bc6.png
Tkinter import error for pyenv Pythons #94​github.comPython not configured for Tk​stackoverflow.com
f6add196b9073396e7f88c93ff922bc6.png
[SOLVED] Cannot make pyenv work properly · Issue #427 · pyenv/pyenv​github.com
daf4978a8da63fe08ace03c4ff3cb4d6.png
Clarify instructions in readme #481​github.compyenv/pyenv​github.com
daf4978a8da63fe08ace03c4ff3cb4d6.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/298473.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何给柱状图柱子添加阴影_【LeetCode日记】84. 柱状图中最大的矩形

题目描述 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。以上是柱状图的示例&#xff0c;其中每个柱子的宽度为 1&#xff0c;给定的高度为 [2,1,5,6,2…

VMWare虚拟机NAT上网方法 亲测可用

首先虚拟机的网卡要选择NAT 然后 在Virtual Network Editor中一定选上DHCP功能。 还要主机的服务必须开启。主机的VMnet8对应NAT模式&#xff0c;这个VMnet8的配置保持默认不要改&#xff0c;默认会有IP&#xff0c;不要设置成自动获取。 在虚拟机Windows系统的网卡设置必须自动…

用MATLAB三步完成机器人搭建

全世界只有3.14 % 的人关注了爆炸吧知识如果说机器人是一粒种子&#xff0c;那么《机器人大擂台》这档节目就是那个播种人。节目中&#xff0c;不同选手操纵着机器人&#xff0c;在擂台上各显神威 —— 冲撞、翻滚、撬杠、喷火等各种技能&#xff0c;总能令人眼花缭乱&#xff…

可以备份服务器文件的软件哪个好,文件备份软件哪个好?

对于一个企业而言&#xff0c;文件的价值是无可比拟的&#xff0c;无论是重要的文件、文档还是会议记录等等都是不可丢失的。一般而言&#xff0c;企业为了让文件更加安全&#xff0c;会进行文件的备份&#xff0c;企业文件备份传统方式就是租用或者购买一台服务器来进行数据或…

太妙了!微软670页《dotnet官方手册》火了,完整PDF开放下载!

本文档由微软技术专家编写&#xff0c;从1.1版本持续维护升级至今&#xff0c;开篇就详细对比了各版本中的差异&#xff0c;内容包含了ASP.NET Core、Blazor、WebAPI、SignalR、gRPC、EF Core、云原生&#xff0c;既是最权威的&#xff0c;也是最全面的&#xff0c;是学习跨平台…

(译)如何使用cocos2d制作基于tile地图的游戏教程:第一部分

免责申明&#xff08;必读&#xff01;&#xff09;&#xff1a;本博客提供的所有教程的翻译原稿均来自于互联网&#xff0c;仅供学习交流之用&#xff0c;切勿进行商业传播。同时&#xff0c;转载时不要移除本申明。如产生任何纠纷&#xff0c;均与本博客所有人、发表该翻译稿…

devexpress 中的checkboxlist怎么设置间距_HTML中怎么设置h1的字体样式你知道吗?关于设置h1标签的样式详解

本篇文章主要为大家讲解了html中的h1标签的样式解析&#xff0c;但是如果不用css样式来做的话&#xff0c;那就只能在html4.01中显示了&#xff0c;所以我们还是尽快学习css层叠样式表吧&#xff0c;好了&#xff0c;现在让我们来说说这篇文章吧。HTML中的H标签(H1&#xff0c;…

终端如何粘贴快捷键_11 个“原来可以这样”的 Linux 终端命令

1. 命令行日常系快捷键如下的快捷方式非常有用&#xff0c;能够极大的提升你的工作效率&#xff1a;CTRL U - 剪切光标前的内容CTRL K - 剪切光标至行末的内容CTRL Y - 粘贴CTRL E - 移动光标到行末CTRL A - 移动光标到行首ALT F - 跳向下一个空格ALT B - 跳回上一个空格…

2020应届生「求职图鉴」,扎心了!

一场疫情&#xff0c;开启了2020应届生求职的地狱模式&#xff1a;实习&#xff0c;辞了考研&#xff0c;凉了论文&#xff0c;废了春招&#xff0c;歇了......别说拿高薪&#xff0c;有份工作都难&#xff01;当「想象」遇上「现实」&#xff0c;现在的你&#xff0c;还挺得住…

WCF发布到IIS7问题的解决方案

今天用VS2010开发了一个WCF服务进行一个简单测试&#xff0c;没想到这点小事竟然折腾了我2个小时。 为避免其他兄弟遇到相同的问题少走弯路做一下总结。 操作系统:Windows7 旗舰版 开发环境:VS2010 .NET Framework4.0 ASP.NET4.0 第一步&#xff1a;检查Windows7中IIS是否安装了…

flex布局_Flex布局,真香

作者: EcbJS https://blog.csdn.net/EcbJS/article/details/106466757?utm_sourceapp1.基本原理Flex 英文意思为&#xff0c;弯曲&#xff0c;屈伸&#xff0c;可以伸缩的布局&#xff0c;天生就是为了适配不同的分辨率。而且用法也很简单&#xff0c;首先只要告诉浏览器&…

字体编辑器_FontLab 7 ——字体编辑器

FontLab VI是一款专为Mac用户设计的字体编辑器。无论您是专家还是初学者&#xff0c;使用FontLab突破性的绘图工具和响应式轮廓操作都能够轻松设计&#xff0c;编辑和转换字体&#xff0c;让您的设计过程将更快&#xff0c;更高效&#xff01;功能介绍一、画画 下一代绘图神器&…

分享一个理工男必学的撩妹姿势

随着气温越来越高&#xff0c;空气中恋爱的酸臭味也越来越浓。。。是的&#xff0c;这意味着一个由谐音演变而来的“传统佳节”&#xff0c;也终于迎来了它的高光时刻。520可以说是每个直男都要经历的考验&#xff0c;说是“我爱你”的谐音&#xff0c;过得好是520&#xff0c;…

Docker小白到实战之Dockerfile解析及实战演示,果然顺手

前言使用第三方镜像肯定不是学习Docker的最终目的&#xff0c;最想要的还是自己构建镜像&#xff1b;将自己的程序、文件、环境等构建成自己想要的应用镜像&#xff0c;方便后续部署、启动和维护&#xff1b;而Dockerfile就是专门做这个事的&#xff0c;通过类似简单编码的形式…

转换实体类_利用Java反射机制进行Map和JavaBean间转换

Java中利用反射进行Map和JavaBean间转换在日常工作中&#xff0c;有时候我们可能会遇到以下这样的情况发生。例如&#xff1a;(1)后端接受一个参数Map param(可能是前端form维护的一个对象...)。(2)将一个对象个别属性(key)和对应值(value)存放到Map对象中。(3).......针对上面…

python模拟键盘输入_这件神器,每个 Python入门学习者都值得一试

灰常实用的一篇文章&#xff0c;看完你会来点赞滴。 不论你是刚开始学 Python&#xff0c;还是正在啃数据分析的骨头&#xff0c;对你来说&#xff0c;不断在各种命令行窗口和编辑器里切来切去&#xff0c;或者不断打开各种窗口查看 matplotlib 的输出之类的繁琐操作&#xff0…

早上起床时需要的重力

1 我这一波操作怎么样&#xff1f;2 要趁垃圾桶不注意3 主人在厕所&#xff0c;我要守护她4 好歹给你留了一张&#xff0c;知足吧5 怎么吃这么小的榴莲6 不存在的7 早上起床时需要的重力8 求解你点的每个赞&#xff0c;我都认真当成了喜欢

一年几百亿的电费 中国移动再提5G功耗问题

最近&#xff0c;中移动高管表示&#xff0c;在5G网络建设中&#xff0c;中国移动将贯彻绿色发展的理念&#xff0c;利用节能技术&#xff0c;使功耗尽可能能够减少。之所以如此&#xff0c;原因之一是中国移动的网络功耗上受到一定程度的压力。在中国移动招股书中也反映出了5G…

拆弹部队火了,种***的笑了

第82届奥斯卡颁奖落幕&#xff0c;美国战争片《拆弹部队》一举战胜票房第一的《阿凡达》获得6项大奖&#xff0c;而 《拆弹部队》这部电影并未进入电影院线&#xff0c;众多影迷们只能求助于互联网&#xff0c;《拆弹部队》立即成为搜索热词。只能在网上看大片&#xff0c;将面…

海外服务器搭建网站访问很慢,海外服务器访问速度变慢了怎么办

但随着越来越多的站长选择在海外服务器上搭建网站&#xff0c;也有许多使用者开始抱怨服务器速度怎么越变越慢了&#xff1f;所以我们在这里讲解下如何解决服务器访问速度变慢的问题。海外服务器访问速度变慢了怎么办首先我们需要找到是什么原因降低了服务器速度&#xff0c;其…