当前位置:首页 > 科技  > 软件

一文掌握在PyCharm中正确设置Python项目

来源: 责编: 时间:2023-10-23 17:05:49 443观看
导读简介在Mac和Linux都支持Python,但许多开发者发现正确设置Python项目很困难。本文汇总了多平台中运行Python的方法,提高编程的效率,如下所示:使用命令行运行Python。在PyCharm(免费社区版)中运行Python。添加和删除软件包。

简介

在Mac和Linux都支持Python,但许多开发者发现正确设置Python项目很困难。本文汇总了多平台中运行Python的方法,提高编程的效率,如下所示:5om28资讯网——每日最新资讯28at.com

  • 使用命令行运行Python。
  • 在PyCharm(免费社区版)中运行Python。
  • 添加和删除软件包。
  • 使用虚拟环境,隔离Python代码。

目录结构

使用如下图所示的目录结构(文末下载源码)。5om28资讯网——每日最新资讯28at.com

图片图片5om28资讯网——每日最新资讯28at.com

安装并启动PyCharm

安装了社区版PyCharm,安装完成后启动PyCharm。5om28资讯网——每日最新资讯28at.com

【PyCharm社区版】:https://www.jetbrains.com/zh-cn/pycharm/5om28资讯网——每日最新资讯28at.com

在PyCharm中查看文件夹内容

点击打开->选择文件夹my_python_project。5om28资讯网——每日最新资讯28at.com

PyCharm视图PyCharm视图5om28资讯网——每日最新资讯28at.com

scripts

此文件夹包含bash脚本。对于每个"main" Python文件,必须有一个对应的"main" bash脚本。5om28资讯网——每日最新资讯28at.com

scripts/application.sh5om28资讯网——每日最新资讯28at.com

为什么在Python项目中需要"main" bash脚本?5om28资讯网——每日最新资讯28at.com

这些脚本是作为终端或其他程序(例如Ansible,Jenkins)的入口。它们还能确保Python应用程序在固定的虚拟环境中运行。5om28资讯网——每日最新资讯28at.com

也可以使用不调用python程序的其他脚本。5om28资讯网——每日最新资讯28at.com

scripts/genssl.sh — generates self signed certificates5om28资讯网——每日最新资讯28at.com

src

main files

将包含主要入口的文件直接放在src文件夹下。5om28资讯网——每日最新资讯28at.com

application.py5om28资讯网——每日最新资讯28at.com

from my_package import namesif __name__ == "__main__":  sys.path.append('.')  names.echo_name("John")

packages

在src文件夹下创建Python包。为了将目录标识为Python包,Python要求添加一个空的__init.py__文件。5om28资讯网——每日最新资讯28at.com

现在,可以将一个包中的Python类和函数导入到另一个Python文件中。5om28资讯网——每日最新资讯28at.com

为了使导入正确,添加sys.path.append('.')很重要。5om28资讯网——每日最新资讯28at.com

setupvenv.sh

这个bash脚本将在存储库之外的文件夹中设置Python虚拟环境。它还会根据requirements.txt安装库。5om28资讯网——每日最新资讯28at.com

requirements.txt

该文件包含了Python标准库之外的大多数常用库。5om28资讯网——每日最新资讯28at.com

requests库用于进行get/post请求,flask库用于接收get/post请求。5om28资讯网——每日最新资讯28at.com

运行应用程序

终端

打开命令行应用程序(在MacOS/Linux中为Terminal,在Windows中为CMD)5om28资讯网——每日最新资讯28at.com

  1. cd to <your project folder>/scripts
  2. ./application.sh

这将安装虚拟环境,安装pip软件包,并执行Python应用程序!5om28资讯网——每日最新资讯28at.com

第一次运行时,它将设置虚拟环境和依赖项。如果重新运行,将会看到一个较小的输出,因为它只是更新了依赖项。5om28资讯网——每日最新资讯28at.com

首次从终端运行application.sh。注意:虚拟环境已创建,程序库已安装。首次从终端运行application.sh。注意:虚拟环境已创建,程序库已安装。5om28资讯网——每日最新资讯28at.com

从终端重新运行application.sh的第一次运行。注意,虚拟环境已创建并安装了库。5om28资讯网——每日最新资讯28at.com

从终端重新运行application.sh从终端重新运行application.sh5om28资讯网——每日最新资讯28at.com

PyCharm

现有解释器

在使用PyCharm运行任何程序之前,需要做的第一件事是为项目设置解释器。PyCharm可以添加一个新解释器,但在这里,当运行./application.sh时,本文已经创建了一个解释器。因此,请选择 “add existing interpreter(添加现有解释器)”。5om28资讯网——每日最新资讯28at.com

如果查看终端输出,你会找到现有解释器的位置:5om28资讯网——每日最新资讯28at.com

Path> /Users/ms/narambunet/wdir/bin/python

等待PyCharm索引文件。完成后,就可以通过PyCharm运行Python应用程序了。5om28资讯网——每日最新资讯28at.com

图片图片5om28资讯网——每日最新资讯28at.com

选择现有解释器。你可以通过点击编辑器最右下角找到此对话框。5om28资讯网——每日最新资讯28at.com

图片图片5om28资讯网——每日最新资讯28at.com

一旦选择了解释器,将会显示在requirements.txt中定义的库。5om28资讯网——每日最新资讯28at.com

将"src"目录标记为"Sources Root"

在通过IDE(集成开发环境)运行应用程序之前,还有一个步骤。将src文件夹标记为Sources Root。当从终端运行application.sh时,这不是必需的,但是当你想直接从PyCharm执行application.py时,这是必需的。5om28资讯网——每日最新资讯28at.com

图片图片5om28资讯网——每日最新资讯28at.com

将src目录标记为"sources root",这样就可以直接从PyCharm编辑器运行application.py。5om28资讯网——每日最新资讯28at.com

从PyCharm运行application.py

图片图片5om28资讯网——每日最新资讯28at.com

PyCharm成功运行5om28资讯网——每日最新资讯28at.com

源代码

可以从GitHub下载本文的Python项目相关文件。5om28资讯网——每日最新资讯28at.com

【Python项目】:https://github.com/naraone/my_python_project5om28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-14599-0.html一文掌握在PyCharm中正确设置Python项目

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: DDD实战:应对并发挑战,五个技巧让你轻松应对

下一篇: 一个人将模型训练单机平台升级成分布式

标签:
  • 热门焦点
  • 5月iOS设备好评榜:iPhone 14仅排第43?

    来到新的一月,安兔兔的各个榜单又重新汇总了数据,像安卓阵营的榜单都有着比较大的变动,不过iOS由于设备的更新换代并没有那么快,所以相对来说变化并不大,特别是iOS好评榜,老款设
  • 一加首款折叠屏!一加Open渲染图出炉:罕见单手可握小尺寸

    8月5日消息,此前就有爆料称,一加首款折叠屏手机将会在第三季度上市,如今随着时间临近,新机的各种消息也开始浮出水面。据悉,这款新机将会被命名为&ldquo;On
  • 三分钟白话RocketMQ系列—— 如何发送消息

    我们知道RocketMQ主要分为消息 生产、存储(消息堆积)、消费 三大块领域。那接下来,我们白话一下,RocketMQ是如何发送消息的,揭秘消息生产全过程。注意,如果白话中不小心提到相关代
  • Python异步IO编程的进程/线程通信实现

    这篇文章再讲3种方式,同时讲4中进程间通信的方式一、 Python 中线程间通信的实现方式共享变量共享变量是多个线程可以共同访问的变量。在Python中,可以使用threading模块中的L
  • 2023年,我眼中的字节跳动

    此时此刻(2023年7月),字节跳动从未上市,也从未公布过任何官方的上市计划;但是这并不妨碍它成为中国最受关注的互联网公司之一。从2016-17年的抖音强势崛起,到2018年的&ldquo;头腾
  • 中国家电海外掘金正当时|出海专题

    作者|吴南南编辑|胡展嘉运营|陈佳慧出品|零态LT(ID:LingTai_LT)2023年,出海市场战况空前,中国创业者在海外纷纷摩拳擦掌,以期能够把中国的商业模式、创业理念、战略打法输出海外,他们依
  • iQOO 11S或7月上市:搭载“鸡血版”骁龙8Gen2 史上最强5G Soc

    去年底,iQOO推出了“电竞旗舰”iQOO 11系列,作为一款性能强机,iQOO 11不仅全球首发2K 144Hz E6全感屏,搭载了第二代骁龙8平台及144Hz电竞屏,同时在快充
  • 2022爆款:ROG魔霸6 冰川散热系统持续护航

    喜逢开学季,各大商家开始推出自己的新产品,进行打折促销活动。对于忠实的端游爱好者来说,能够拥有一款梦寐以求的笔记本电脑是一件十分开心的事。但是现在的
  • 电博会与软博会实现"线下+云端"的双线融合

    在本次“电博会”与“软博会”双展会利好条件的加持下,既可以发挥展会拉动人流、信息流、资金流实现快速交互流动的作用,继而推动区域经济良性发展;又可以聚
Top