一日多技,技能-Linux-Python-Life 005

简介: 一日多技,技能-Linux-Python-Life 005

简说Python,号主老表,Python终身学习者,数据分析爱好者,从18年开始分享Python知识,原创文章227篇,写过Python、SQL、Excel入门文章,也写过Web开发、数据分析文章,老表还总结整理了一份2022Python学习资料和电子书资源,关注后私信回复:2022 即可领取。

Linux 相关

1、Docker和宿主机之间共享文件?

docker run -it --rm -v /home/my_data:/share 镜像ID /bin/bash

指令含义:把宿主机的 /home/my_data 目录挂载到新建容器的 /share 目录。 执行完上面命令进入 Docker 容器后,进入 /share 文件夹下,ls 后就会看到宿主机 /home/my_data 中的文件。

2、vim 删除单行、全部?撤回?

1)删除单行:dd

2)删除全部:

  • gg 光标移动到行首
  • dG 删除光标后所有内容

3)撤回:u

3、Ubuntu 查看安装的软件包版本和位置?

  • 查看软件包名称
(myconda) root@ZA8rRd:/# dpkg -l | grep cudnn
hi  libcudnn8                     8.2.0.53-1+cuda11.3 amd64               cuDNN runtime libraries
ii  libcudnn8-dev                 8.2.0.53-1+cuda11.3 amd64               cuDNN development libraries and headers
  • 根据名称查找位置
(myconda) root@ZA8rRd:/# dpkg -L libcudnn8 
/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libcudnn.so.8.2.0
...

4、如何使用cuda编译 cpp 代码?fatal error: cuda.h: No such file or directory!!!

首先你需要确保你机器里面已经安装了 cuda 环境。

测试程序如下,写入到t-c.cpp文件中:

#include <iostream>
#include <cuda.h>
int main()
{
    printf("Hello World");
    return 0;
}

编译的时候需要指定以下参数:

  • -I /usr/local/cuda/include  指定编译的时候,头文件搜索路径
  • -o tc 编译成功的可执行文件名称
  • -L /usr/local/cuda/lib64 指定编译的时候,搜索库的路径
  • -l cuda 指定编译的时候使用的库
g++ -I /usr/local/cuda/include t-c.cpp -o tc -L /usr/local/cuda/lib64 -l cuda
(myconda) root@ZA8rRd:/home# g++ -I /usr/local/cuda/include t-c.cpp -o tc -L /usr/local/cuda/lib64 -l cuda
(myconda) root@ZA8rRd:/home# ./tc
Hello World

5、linux 删除安装的软件包

apt-get remove --purge 软件名称  -y
apt-get autoremove --purge 软件名称  -y

Python 相关

'NoneType'object is not subscriptable 这种错误是因为你调用的索引不存在导致,比如下面例子中 a 为 None,我却想获取 a 的索引值。

项目中遇到这种错误,需要先去找下 a 值是怎么来的,然后根据代码上下,判断是数据读取问题还是代码写错了。

a = None
1 if a else int(a['b'])

image.png

用处不大

1、add-apt-repository 安装使用

add-apt-repository 是 Python 脚本,允你将 apt 存储库添加到 /etc/apt/sources.list 或者作为单个文件添加 /etc/apt/sources.list.d 目录中。该命令还可以用于删除已经存在的存储库。

要安装它,请运行以下命令:

sudo apt update
sudo apt install software-properties-common

使用 add-apt-repository 添加存储库,安装软件参考:https://www.myfreax.com/how-to-add-apt-repository-in-ubuntu/

2、cmake 升级

去官网下载自己需要的版本安装包,解压后编译安装即可。

https://cmake.org/files/
wget https://cmake.org/files/v3.17/cmake-3.17.5.tar.gz
tar xvf cmake-3.17.5.tar.gz
cd cmake-3.17.5
./bootstrap --prefix=/usr
'''
如果出现错误:Could not find OpenSSL
apt update
apt install libssl-dev
'''
make
make install

image.png

3、'utf-8' codec can't decode byte 0xa3?

读取编码改成unicode_escape。

flag = 0
with open('./wifi密码本.txt', 'r', encoding='unicode_escape') as f:
    # 遍历密码
    for pwd in f:
        # 去除密码的末尾换行符
        pwd = pwd.strip('\n')
        print(pwd)
        flag += 1
        if flag > 10:
            break

4、Python 3.5 添加到 jupyter notebook kernel中的问题?

pip install ipykernel
python -m ipykernel install --name py35
'''
  File "/Users/admin/opt/anaconda3/envs/py35/lib/python3.5/site-packages/jupyter_client/channels.py", line 47
    time_to_dead: float = 1.0
                ^
SyntaxError: invalid syntax
'''

出现上面错误是因为安装的包版本不对的原因。

首先conda 搜索适合 python3.5 的 ipykernel、jupyter_client 包,并安装对应版本,最后添加即可。

conda search ipykernel | grep py35
'''
ipykernel                      4.6.1  py35h9865fc8_0  anaconda/pkgs/main  
ipykernel                      4.7.0  py35h2f9c1c0_0  anaconda/pkgs/main  
ipykernel                      4.8.0          py35_0  anaconda/pkgs/main  
ipykernel                      4.8.2          py35_0  anaconda/pkgs/main  
ipykernel                      4.9.0          py35_0  anaconda/pkgs/main  
ipykernel                      4.9.0          py35_1  anaconda/pkgs/main  
ipykernel                     4.10.0          py35_0  anaconda/pkgs/main  
'''
pip install ipykernel==4.10.0 
conda search jupyter_client | grep py35
'''
jupyter_client                 5.1.0  py35hfe06ecd_0  anaconda/pkgs/main  
jupyter_client                 5.2.1          py35_0  anaconda/pkgs/main  
jupyter_client                 5.2.2          py35_0  anaconda/pkgs/main  
jupyter_client                 5.2.3          py35_0  anaconda/pkgs/main  
'''
pip install jupyter_client==5.2.3
python -m ipykernel install --name py35
'''
Installed kernelspec py35 in /usr/local/share/jupyter/kernels/py35
'''

英语

malicious
英 [məˈlɪʃəs]   美 [məˈlɪʃəs]  
adj.恶意的;恶毒的
drag
英 [dræɡ]   美 [dræɡ]  
v.(用鼠标)拖动
n.拖累;令人厌烦的人;乏味无聊的事
potentially
英 [pə'tenʃəli]   美 [pə'tenʃəli]  
adv.潜在地


今天分享就这些啦,希望对大家有所帮助,这是一个新栏目,总结下每天遇到的问题,记录分享给大家。喜欢就点个赞~

相关文章
|
7天前
|
机器学习/深度学习 数据可视化 数据挖掘
职场新技能:Python数据分析,你掌握了吗?
职场新技能:Python数据分析,你掌握了吗?
12 0
|
17天前
|
机器学习/深度学习 人工智能 程序员
探索Python宝库:从基础到技能的干货知识(数据类型与变量+ 条件与循环+函数与模块+文件+异常+OOP)
探索Python宝库:从基础到技能的干货知识(数据类型与变量+ 条件与循环+函数与模块+文件+异常+OOP)
13 0
|
20天前
|
存储 JavaScript 对象存储
ROS CDK魔法书:点亮博客上云新技能(Python篇)
ROS(Resource Orchestration Service)是阿里云的资源编排服务,通过模板定义资源和依赖关系。CDK中的Asset模块扮演关键角色,将本地文件转化为云资产,方便上传至OSS(Object Storage Service)存储。OSS是一个云存储服务,能安全存储大量数据,并支持高效访问。通过ROS CDK,开发者可以将本地的Next.js博客项目打包并部署到OSS,实现静态网站的云托管。部署过程包括初始化项目、安装依赖、定义资源、打包博客代码和使用CDK部署到OSS。通过这种方式,开发者可以利用ROS CDK的自动化能力,高效地管理和更新云上资源。
522 0
|
2月前
|
人工智能 Python
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
129 0
|
2月前
|
数据采集 UED 开发者
深入浅出Python协程:提升你的异步编程技能
在当今快速发展的软件开发领域,异步编程已成为提高应用性能和用户体验的关键技术之一。本文将深入探讨Python中的协程(coroutine)机制,它作为异步编程的核心,可以帮助开发者有效管理IO密集型任务,从而提升程序的执行效率。通过本文,你不仅能够理解协程的基本概念和工作原理,还将学习到如何在实际项目中灵活运用协程来解决复杂的编程问题。
|
7月前
|
机器学习/深度学习 自然语言处理 算法
机器学习基础:Python数据分析的必备技能
机器学习基础:Python数据分析的必备技能
80 2
|
10月前
|
数据可视化 数据挖掘 Python
Python3,一次掌握这些数据可视化图表技能,老板不给涨薪都不好意思。
Python3,一次掌握这些数据可视化图表技能,老板不给涨薪都不好意思。
53 0
|
数据采集 Dart 前端开发
【前端】从JavaScript到Python:我的技能扩展之路
【前端】从JavaScript到Python:我的技能扩展之路,简单介绍一下自己吧\~我是一名应届生,专业是铁路方面的,自己从小就喜欢捣鼓计算机这些,导致自己一步步的走上了“不归路”。
【前端】从JavaScript到Python:我的技能扩展之路
|
存储 索引 Python
把你的 Python 技能从 “Hello World“ 升级到 “万能钥匙“:掌握 Python 的输出、输入、数据类型转换和运算符!
把你的 Python 技能从 “Hello World“ 升级到 “万能钥匙“:掌握 Python 的输出、输入、数据类型转换和运算符!
把你的 Python 技能从 “Hello World“ 升级到 “万能钥匙“:掌握 Python 的输出、输入、数据类型转换和运算符!
|
12月前
|
机器学习/深度学习 人工智能 算法
Python编程入门基础及高级技能、Web开发、数据分析和机器学习与人工智能
Python编程入门基础及高级技能、Web开发、数据分析和机器学习与人工智能
148 0

相关实验场景

更多