Python的一些工具包和Ubuntu使用中遇到的一些问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python的一些工具包和Ubuntu使用中遇到的一些问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4589字,纯文字阅读大概需要7分钟。
内容图文
写在前面:最近在做一些东西,平台是Ubuntu16.04,用Putty登陆远程的主机,WinSCP挂载代码,这可以说是我第一次接触Linux操作系统,所以其中遇到了很多奇奇怪怪的问题,也看了很多帖子,但有些问题老是会碰到,与其每次都去查不如自己写个总结,反正现在在上网课,闲着也是闲着哈哈哈,此帖不定期更新,直到东西做完为止……
VMware Tools的安装
网上的方法很多,我自己实验有用的方法是
1、点击虚拟机->安装vmtools
2、把一个tar.gz拖到一个你知道的地方,比如/Downloads
3、sudo su
进入root身份
4、cd /home/python/Downloads
目录就是之前的目录
5、tar -zxvf VMwareTools-10.0.0-2977863.tar.gz
解压的文件名记得看清楚
6、cd vmware-tools-distrib
进入这个文件夹 ./vmware-install.pl
运行pl文件
7、之后会弹出一大堆内容,记住yes/no的全部选yes,其他全部回车default
== 到中后段一堆路径后会弹出一个yes/no,需要注意 ==
root自动登录
引用自:https://blog.csdn.net/hxh5801050/article/details/77801050
慎用,有时一劳永逸有时贼jb坑,我这里是Ubuntu16.04,其他版本的可能会不同
1、给root用户设置密码sudo passwd root
2、编辑一个文件sudo gedit /etc/lightdm/lightdm.conf
内容是
[Seat:*]
autologin-guest=false
autologin-user=root
autologin-user-timeout=0
greeter-session=lightdm-gtk-greeter
3、编辑另一个文件sudo gedit /root/.profile
内容是
# ~/.profile: executed by Bourne-compatible login shells.
if [ "$BASH" ]; then
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi
tty -s && mesg n || true
4、sudo reboot
重启
终端分割
因为要同时登陆多台主机,所以用终端分割方便一些
只有一步sudo apt-get install terminator
私钥放置的问题
引用自:https://blog.csdn.net/qq_37449342/article/details/94726146
因为要用Putty远程登陆,所以需要将私钥放入你的虚拟机,我放在/root目录下,其他目录都提示too open
但是发起登陆请求时可能会出现以下问题
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for '/root/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/root/.ssh/id_rsa": bad permissions
Permission denied (publickey).
解决方法只有一步chmod -R 700 /root
Putty远程登陆
ssh -i /root/id_dsa -X root@x.x.x.x
注意你的id_dsa放的位置,后面的x.x.x.x是ip
内网的登陆
登陆远端主机后如果还需登陆VLAN里的其他主机,方法也差不多
ssh -i /root/id_dsa root@x.x.x.x
同样x.x.x.x是内网ip地址
error:[Errno 98] Address already in use
引用自:https://blog.csdn.net/SSSuperFang/article/details/80039524?depth_1-utm_source=distribute.pc_relevant.nonetask&utm_source=distribute.pc_relevant.none-task
如果碰到了这个错误,可能是在远端程序运行时意外掉线或者没有Ctrl+C退出。
解决方法是:
1、lsof -i:(port)
port是端口号,你的代码里应该有提到
2、sudo kill PID
杀掉进程,PID在上一行命令输完出现的界面能看到
Matplotlib中的问题
引用自:https://blog.csdn.net/zhangpeterx/article/details/83627705
1、_tkinter.TclError: no display name and no $DISPLAY environment variable
解决方法:https://blog.csdn.net/zhangpeterx/article/details/83627705
出现此问题可能是因为远端Linux没有GUI?或者命令行不能画图?
Anyway
解决方法
头部引入
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
== 顺序不能乱!!!!==
然后plt.savefig('/.../result.png')
’…'是保存的路径,文件名可以随便取,我去的result.png
Networkx中碰到的问题
G = nx.Graph()
G = G.to_directed()
具体的图根据你自己的情况,这不是重点
如果你要给图中的边赋权值,或者就是要给边的一个属性赋值,我最开始是这样做的,== 以下代码为错误示范!!!!! ==
for sourcee in range(0, 20): #此段为错误示范
for destinationn in range(0, 20):
if sourcee != destinationn and nx.has_path(G, g.L_IP[sourcee], g.L_IP[destinationn]):
G.add_edge(g.L_IP[sourcee], g.L_IP[destinationn], {'weight': 1.0})
G.add_edge(g.L_IP[destinationn], g.L_IP[sourcee], {'weight': 1.0})
elif sourcee == destinationn and nx.has_path(G, g.L_IP[sourcee], g.L_IP[destinationn]):
G.add_edge(g.L_IP[sourcee], g.L_IP[destinationn], {'weight': 0.0})
pass
本意是把除自环外的每条边的权值赋为1.0,自环的权值设为0.0,经过这一段代码成功把自己之前的图连成了全连通图……这段代码风格怎么说呢……什么叫C语言,zhei他妈就叫C语言,毕竟最早学的是C语言,用Python写C类型的代码还需要编成量来配合
正确方法如下
for edge in G.edges():
G.edges[edge]['weight'] = 1.0
for source in range(0, 20):
for destination in range(0, 20):
if source == destination:
G.add_edges_from([(g.L_IP[source], g.L_IP[destination], {'weight': 0.0})])
把除自环外的每条边的权值都赋为1.0就用了两行……
其他
这语句挺好用的input('Press Enter to continue')
能让程序停下来,看看之前输出的内容,如果没有千里眼,这个还是蛮好用的,而且有种打游戏的快感哈哈哈
内容总结
以上是互联网集市为您收集整理的Python的一些工具包和Ubuntu使用中遇到的一些问题全部内容,希望文章能够帮你解决Python的一些工具包和Ubuntu使用中遇到的一些问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。