<Zhuuu_ZZ>Python环境配置

本文详细介绍了在Windows和Linux环境下配置Python开发环境的步骤,包括安装Anaconda、PyCharm、Scrapy爬虫框架和PySpark。在Windows上,重点讲解了Anaconda的安装、PyCharm的配置以及Scrapy的安装。而在Linux系统中,主要阐述了Anaconda的安装和PySpark的搭建,包括设置环境变量和启动PySpark。整个过程旨在为开发者提供一套完整的Python开发环境搭建方案。
部署运行你感兴趣的模型镜像

一 、在Windows上安装Anaconda3[Windos]

  • 在官网上下载 Anaconda 的安装文件

    • Anaconda3-5.1.0-Windows-x86_64.exe
  • 如果操作系统是 Win10 系统,请右键点击安装文件,选择以“管理员身份运行”(之前出现过在 Win10 上,未使用管理员权限安装导致后面 Scrapy 爬虫安装失败的情况)

  • 以管理员身份运行
    以管理员身份运行

  • 下一步
    在这里插入图片描述

  • 下一步
    在这里插入图片描述

  • 选择第二个,所有用户都可使用
    在这里插入图片描述

  • 可自定义Anaconda安装位置
    在这里插入图片描述

  • 将两个都勾上,自动添加环境变量
    在这里插入图片描述

  • 点击 Skip,不安装 VSCode。我们使用 PyCharm 作为发工具
    在这里插入图片描述

  • 安装完毕,测试,在CMD命令行输入python即可,输出Version即表示安装完成。
    在这里插入图片描述

二、PyCharm 安装及工程配置[Windows]

  • professional 表示专业版,community 是社区版,推荐安装社区版,因为是免费使用的。

1、当下载好以后,点击安装,记得修改安装路径,我这里放的是E盘,修改好以后,Next
在这里插入图片描述
2、接下来是
在这里插入图片描述
我们可以根据自己的电脑选择32位还是64位,目前应该基本都是64位系统吧

3、如下
在这里插入图片描述
点击Install,然后就是静静的等待安装了。

4、安装完成后添加Python解释器
在这里插入图片描述

三、Scrapy 爬虫框架安装配置[Windows]

直接在CMD命令行安装命令:conda install scrapy 然后选择y下载配置。

如果安装失败,可能的原因是 Scrapy 爬虫框架所依赖的 twisted 安装失败。 
twisted 是用 Python 实现的基于事件驱动的网络引擎框架(从这里可以看出, 一个框架可以依赖于另一个框架),
但其安装形式比较特殊,须先下载源码,再在本地编译生成可执行文件后才能安装,
而如果本地无 VS 编译工具或 VS 的版 本低于编译要求就会导致 twisted 安装失败,进而即会使得 Scrapy 安装失败。 
此时可以采用下载离线安装包的方式下载并安装 twisted(05-其他资料中提供 了),但要注意选择与操作系统版本相对应的安装文件。 

安装 twisted 的方法: 命令行切到安装文件的位置,之后运行命令: pip install Twisted-18.9.0-cp36-cp36m-win_amd64.whl twisted 
安装完成后再重新使用“pip install scrapy”命令安装 Scrapy 爬虫框架 就可以了。

最后配置Anaconda3安装目录下Scripts文件夹的PATH环境变量,不过一般安装Anaconda3时可以一键配置。

四、PySpark 集成环境搭建[Linux]

1、Anaconda 安装

1.使用 yum 安装 bzip2,缺少 bzip2 安装 Anaconda 会失败

yum install -y bzip2

2.安装 Anaconda3-5.1.0-Linux-x86_64

bash Anaconda3-5.1.0-Linux-x86_64.sh

进入之后主要是按照提示操作即可,比如回车,输入 yes,或输入 no 等。
此处回车,进入安装。
在这里插入图片描述
之后需要接受协议,输入 yes,然后在需要回车的地方进行回车安装。
在这里插入图片描述
注意,此处可以指定路径,也可以直接回车,直接回车就是安装在默认的/root/anaconda3 路径下。我们这里安装在/opt/install 下(该路径/opt/install 应提前创建,若该路径不存在,会安装在默认路径。)
安装完成后会提示是否自动添加环境变量,yes 即可。
在这里插入图片描述
是否安装 VSCode,这里是 linux,不需要。输入 no,安装结束。
在这里插入图片描述
安装 Anaconda 后会覆盖系统原有的 Python,可以通过修改.bashrc 使两个版本的 Python 共存。

vim /root/.bashrc

--------------------
export PATH="/opt/install/anaconda3/bin:$PATH"
alias pyana="/opt/install/anaconda3/bin/python"
alias python="/bin/python"

-------------------------------
#使环境变量生效
source /root/.bashrc

在这里插入图片描述

2、搭建 PySpark

1.生成 PySpark 配置文件
在当前用户文件夹下运行以下命令生成配置文件。

cd ~
jupyter notebook --generate-config

2.修改配置文件,允许从外部访问 Jupyter

vi ./.jupyter/jupyter_notebook_config.py

进入文件后对如下字段进行修改

c.NotebookApp.allow_root = True
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.password = 'sha1:*****************'
c.NotebookApp.port = 7070

#定义notebook的工作目录
c.NotebookApp.notebook_dir = '/opt/install/notebook'

其中的 c.NotebookApp.password 属性的值需要在Anaconda 的 Python 中生成
使用 pyana(前面给 Anaconda 的 Python 起的别名),进入交互模式。运行以下代码。

from notebook.auth import passwd
passwd()

在这里插入图片描述
按照提示设置密码后会生成与之对应的加密密码,然后将这个生成的字符串赋值给 c.NotebookApp.password 属性。

3.修改环境变量
修改.bashrc 文件 vi /root/.bashrc

export PYSPARK_PYTHON=/opt/install/anaconda3/bin/python3
export PYSPARK_DRIVER_PYTHON=/opt/install/anaconda3/bin/jupyter
export PYSPARK_DRIVER_PYTHON_OPTS="notebook"

ipython_opts="notebook -pylab inline"

4.使环境变量生效并关闭防火墙

source /root/.bashrc
systemctl stop firewalld.service
systemctl disable firewalld

5.启动 PySpark

pyspark

6.启动效果
在这里插入图片描述
在这里插入图片描述

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

Python3.8

Python3.8

Conda
Python

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

<?xml version="1.0"?> <robot name="car" xmlns:xacro="http://ros.org/wiki/xacro"> <!-- 1. Base Links --> <link name="base_footprint"> <visual> <geometry> <sphere radius="0.001"/> </geometry> </visual> </link> <link name="base_link"> <inertial> <mass value="2.0"/> <inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01"/> </inertial> <visual> <geometry> <cylinder radius="0.1" length="0.08"/> </geometry> <origin xyz="0 0 0" rpy="0 0 0"/> <material name="base"> <color rgba="1 0 0 1"/> </material> </visual> <collision> <geometry> <cylinder radius="0.1" length="0.08"/> </geometry> </collision> </link> <joint name="ltf" type="fixed"> <parent link="base_footprint"/> <child link="base_link"/> <origin xyz="0 0 0.055" rpy="0 0 0"/> </joint> <!-- 2. Wheels --> <link name="left"> <inertial> <mass value="0.1"/> <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/> </inertial> <visual> <geometry> <cylinder radius="0.0325" length="0.015"/> </geometry> <origin xyz="0 0 0" rpy="1.5708 0 0"/> <material name="left"> <color rgba="0 0 0 1"/> </material> </visual> <collision> <geometry> <cylinder radius="0.0325" length="0.015"/> </geometry> </collision> </link> <link name="right"> <inertial> <mass value="0.1"/> <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/> </inertial> <visual> <geometry> <cylinder radius="0.0325" length="0.015"/> </geometry> <origin xyz="0 0 0" rpy="1.5708 0 0"/> <material name="right"> <color rgba="0 0 0 1"/> </material> </visual> <collision> <geometry> <cylinder radius="0.0325" length="0.015"/> </geometry> </collision> </link> <joint name="base_l_wheel_joint" type="continuous"> <parent link="base_link"/> <child link="left"/> <origin xyz="0 0.1 -0.0225" rpy="0 0 0"/> <axis xyz="0 1 0"/> <dynamics damping="0.1" friction="1.0"/> </joint> <joint name="base_r_wheel_joint" type="continuous"> <parent link="base_link"/> <child link="right"/> <origin xyz="0 -0.1 -0.0225" rpy="0 0 0"/> <axis xyz="0 1 0"/> <dynamics damping="0.1" friction="1.0"/> </joint> <!-- 3. Caster Wheels --> <link name="qwx"> <inertial> <mass value="0.05"/> <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/> </inertial> <visual> <geometry> <sphere radius="0.0075"/> </geometry> <material name="caster"> <color rgba="0 0 0 1"/> </material> </visual> <collision> <geometry> <sphere radius="0.0075"/> </geometry> </collision> </link> <link name="hwx"> <inertial> <mass value="0.05"/> <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/> </inertial> <visual> <geometry> <sphere radius="0.0075"/> </geometry> <material name="caster"> <color rgba="0 0 0 1"/> </material> </visual> <collision> <geometry> <sphere radius="0.0075"/> </geometry> </collision> </link> <joint name="qtb" type="continuous"> <parent link="base_link"/> <child link="qwx"/> <origin xyz="0.08 0 -0.0425" rpy="0 0 0"/> <axis xyz="0 1 0"/> </joint> <joint name="htb" type="continuous"> <parent link="base_link"/> <child link="hwx"/> <origin xyz="-0.08 0 -0.0425" rpy="0 0 0"/> <axis xyz="0 1 0"/> </joint> <!-- 4. Laser Sensor --> <link name="laserzj"> <visual> <geometry> <cylinder radius="0.01" length="0.05"/> </geometry> <material name="laserzj"> <color rgba="0 1 0 1"/> </material> </visual> </link> <link name="laser"> <visual> <geometry> <cylinder radius="0.02" length="0.02"/> </geometry> <material name="laser"> <color rgba="1 0 0 1"/> </material> </visual> </link> <joint name="zjtb" type="fixed"> <parent link="base_link"/> <child link="laserzj"/> <origin xyz="0 0 0.06" rpy="0 0 0"/> </joint> <joint name="lasertb" type="fixed"> <parent link="laserzj"/> <child link="laser"/> <origin xyz="0 0 0.03" rpy="0 0 0"/> </joint> <!-- Gazebo Plugins --> <gazebo> <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so"> <robotNamespace>/</robotNamespace> </plugin> </gazebo> <gazebo reference="laser"> <sensor type="ray" name="laser"> <pose>0 0 0 0 0 0</pose> <visualize>true</visualize> <update_rate>40</update_rate> <ray> <scan> <horizontal> <samples>360</samples> <resolution>1</resolution> <min_angle>-1.5708</min_angle> <max_angle>1.5708</max_angle> </horizontal> </scan> <range> <min>0.1</min> <max>3.0</max> <resolution>0.01</resolution> </range> <noise> <type>gaussian</type> <mean>0.0</mean> <stddev>0.01</stddev> </noise> </ray> <plugin name="gazebo_ros_ray_sensor" filename="libgazebo_ros_ray_sensor.so"> <topicName>/scan</topicName> <frameId>laser</frameId> </plugin> </sensor> </gazebo> </robot>
09-18
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值