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

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

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

简介

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

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

目录结构

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

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

安装并启动PyCharm

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

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

在PyCharm中查看文件夹内容

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

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

scripts

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

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

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

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

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

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

src

main files

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

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

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

packages

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

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

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

setupvenv.sh

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

requirements.txt

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

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

运行应用程序

终端

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

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

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

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

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

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

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

PyCharm

现有解释器

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

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

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

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

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

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

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

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

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

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

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

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

从PyCharm运行application.py

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

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

源代码

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

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

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

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

上一篇: OpenJDK JMH——Java程序的基准测试工具

下一篇: Nuxt 3.8 正式发布,一起来看看都有哪些功能吧!

标签:
  • 热门焦点
  • 7月安卓手机性价比榜:努比亚+红魔两款新机入榜

    7月登场的新机有努比亚Z50S Pro和红魔8S Pro,除了三星之外目前唯二的两款搭载超频版骁龙8Gen2处理器的产品,而且努比亚和红魔也一贯有着不错的性价比,所以在本次的性价比榜单
  • 7月安卓手机性能榜:红魔8S Pro再夺榜首

    7月份的手机市场风平浪静,除了红魔和努比亚带来了两款搭载骁龙8Gen2领先版处理器的新机之外,别的也想不到有什么新品了,这也正常,通常6月7月都是手机厂商修整的时间,进入8月份之
  • 2023年Q2用户偏好榜:12+256G版本成新主流

    3月份的性能榜、性价比榜和好评榜之后,就要轮到2023年的第二季度偏好榜了,上半年的新机潮已经过去,最明显的肯定就是大内存和存储的机型了,另外部分中端机也取消了屏幕塑料支架
  • 6月安卓手机性能榜:vivo/iQOO霸占旗舰排行榜前三

    2023年上半年已经正式过去了,我们也迎来了安兔兔V10版本,在新的骁龙8Gen3和天玑9300发布之前,性能榜的榜单大体会以骁龙8Gen2和天玑9200+为主,至于那颗3.36GHz的骁龙8Gen2领先
  • JavaScript 混淆及反混淆代码工具

    介绍在我们开始学习反混淆之前,我们首先要了解一下代码混淆。如果不了解代码是如何混淆的,我们可能无法成功对代码进行反混淆,尤其是使用自定义混淆器对其进行混淆时。什么是混
  • 破圈是B站头上的紧箍咒

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之每年的暑期档都少不了瞄准追剧女孩们的古偶剧集,2021年有优酷的《山河令》,2022年有爱奇艺的《苍兰诀》,今年却轮到小破站抓住了追
  • 2天涨粉255万,又一赛道在抖音爆火

    来源:运营研究社作者 | 张知白编辑 | 杨佩汶设计 | 晏谈梦洁这个暑期,旅游赛道彻底火了:有的「地方」火了&mdash;&mdash;贵州村超旅游收入 1 个月超过 12 亿;有的「博主」火了&m
  • 三星Galaxy Z Fold/Flip 5国行售价曝光 :最低7499元/12999元起

    据官方此前宣布,三星将于7月26日也就是明天在韩国首尔举办Unpacked活动,届时将带来带来包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy
  • 首发天玑9200+ iQOO Neo8系列发布首销售价2299元起

    2023年5月23日晚,iQOO Neo8系列正式发布。其中,Neo系列首款Pro之作——iQOO Neo8 Pro强悍登场,限时售价3099元起;价位段最强性能手机iQOO Neo8同期上市
Top