使用PyCharm创建模块

时间:2018-03-15 01:56:05

标签: python pycharm jetbrains-ide

我正在使用PyCharm并尝试使用我创建的代码创建一个模块,以便将其导入新文件。在IntelliJ中,您可以启动模块创建者,但在PyCharm中,此选项似乎不存在。

键入时没有模块:

date_default_timezone_set('America/New_York');

$monday = date('Y-m-d', strtotime("monday this week"));

$sunday =  date('Y-m-d', strtotime("sunday this week"));

$period = new DatePeriod(
     new DateTime($monday),
     new DateInterval('P1D'),
     (new DateTime($sunday))->modify('+1 day')
);

foreach ($period as $date) {
    echo $date->format('Y-m-d'), "\n";
}

我收到一条警告,上面写着“没有名为my_code的模块”。

我尝试过创建软件包来替换模块,但这不起作用。

如何在PyCharm中重新打包代码,以便将其导入新文件?

项目结构非常简单。作为教程的一部分,我创建了许多文件。我想创建一个文件,“Importing_Files”一个模块,以便我可以将它导入另一个文件,即“Import_Tester”。我在下面添加了一张图片来显示树。

enter image description here

1 个答案:

答案 0 :(得分:0)

这就是我的建议。看起来您已经尝试正确设置事物,但是您需要在Pycharm中组织事物的方式有所不同。我遇到了类似的问题,这就是为什么我认为对此问题进行解答是有用的。

您的.idea目录位于软件包中,这使事情变得很尴尬。试试这个:

  1. 根据项目的顶层创建一个新的Pycharm项目。
  2. 在该项目中创建src和test目录,并将它们分别设置为源根目录和测试根目录。
  3. 将HelloWorld程序包移至src(确保仍将其识别为程序包)。
  4. 在src中创建带有主要部分的新文件,其中包含您需要从命令行运行的所有功能,为软件包添加导入以及将 main 代码移入其中。
  5. 对于定义测试的任何 main 函数,请执行相同的操作-在tests目录中使用 main 逻辑创建文件。单元测试是一种更好的方法,但是此目录结构应该可以工作。
  6. 删除旧项目(在HelloWorld中删除.idea目录)。

最终的项目布局应如下所示:

 CompletePythonMasterClassUdemy
     .idea
     src
         command_line_main.py
         HelloWorld
             __init__.py
             ...
     test
         test_account.py

这是组织在Pycharm内部和外部均应运行的事物的更好方法。与Java世界不同,Python没有正确设置项目的通用约定。很可能有更好的做事方法,但这对我来说很好。对于刚开始使用Python库开发的人们来说,它应该很好用。