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

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

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

简介

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

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

目录结构

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

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

安装并启动PyCharm

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

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

在PyCharm中查看文件夹内容

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

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

scripts

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

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

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

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

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

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

src

main files

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

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

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

packages

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

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

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

setupvenv.sh

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

requirements.txt

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

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

运行应用程序

终端

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

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

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

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

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

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

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

PyCharm

现有解释器

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

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

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

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

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

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

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

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

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

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

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

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

从PyCharm运行application.py

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

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

源代码

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

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

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

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

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

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

标签:
  • 热门焦点
  • K60 Pro官方停产 第三方瞬间涨价

    虽然没有官方宣布,但Redmi的一些高管也已经透露了,Redmi K60 Pro已经停产且不会补货,这一切都是为了即将到来的K60 Ultra铺路,属于厂家的正常操作。但有意思的是该机在停产之后
  • Redmi Pad评测:红米充满野心的一次尝试

    从Note系列到K系列,从蓝牙耳机到笔记本电脑,红米不知不觉之间也已经形成了自己颇有竞争力的产品体系,在中端和次旗舰市场上甚至要比小米新机的表现来得更好,正所谓“大丈夫生居
  • 6月iOS设备好评榜:第一蝉联榜首近一年

    作为安兔兔各种榜单里变化最小的那个,2023年6月的iOS好评榜和上个月相比没有任何排名上的变化,仅仅是部分设备好评率的下降,长年累月的用户评价和逐渐退出市场的老款机器让这
  • K6:面向开发人员的现代负载测试工具

    K6 是一个开源负载测试工具,可以轻松编写、运行和分析性能测试。它建立在 Go 和 JavaScript 之上,它被设计为功能强大、可扩展且易于使用。k6 可用于测试各种应用程序,包括 Web
  • Rust中的高吞吐量流处理

    作者 | Noz编译 | 王瑞平本篇文章主要介绍了Rust中流处理的概念、方法和优化。作者不仅介绍了流处理的基本概念以及Rust中常用的流处理库,还使用这些库实现了一个流处理程序
  • 分布式系统中的CAP理论,面试必问,你理解了嘛?

    对于刚刚接触分布式系统的小伙伴们来说,一提起分布式系统,就感觉高大上,深不可测。而且看了很多书和视频还是一脸懵逼。这篇文章主要使用大白话的方式,带你理解一下分布式系统
  • Flowable工作流引擎的科普与实践

    一.引言当我们在日常工作和业务中需要进行各种审批流程时,可能会面临一系列技术和业务上的挑战。手动处理这些审批流程可能会导致开发成本的增加以及业务复杂度的上升。在这
  • 在线图片编辑器,支持PSD解析、AI抠图等

    自从我上次分享一个人开发仿造稿定设计的图片编辑器到现在,不知不觉已过去一年时间了,期间我经历了裁员失业、面试找工作碰壁,寒冬下一直没有很好地履行计划.....这些就放在日
  • 携众多高端产品亮相ChinaJoy,小米带来一场科技与人文的视听盛宴

    7月28日,全球数字娱乐领域最具知名度与影响力的年度盛会中国国际数码互动娱乐展览会(简称ChinaJoy)在上海新国际博览中心盛大开幕。作为全球领先的科
Top