繁体   English   中英

从 PyCharm 识别但不通过命令行识别的包中导入

[英]Import from my package recognized by PyCharm but not by command line

我创建了以下包树:

/main_package
    /child_package
    version.py

其中 version.py 包含单个字符串变量 (VERSION)

在子包中的脚本中,我通过以下行导入 version.py:

from main_package.version import VERSION

当我从 PyCharm 运行代码时,一切正常,但是当我通过命令行运行代码时,我收到以下错误消息:

C:\Users\usr\PycharmProjects\project\main_package\child_package>python script.py
Traceback (most recent call last):
File "script.py", line 2, in <module>
from main_package.version import VERSION
ModuleNotFoundError: No module named 'main_package'

我在互联网上发现我可能需要将我的包添加到 python 路径,但它似乎对我不起作用

PyCharm 将 Python 路径设置在项目的根目录(默认情况下)。 要以快速的'n'dirty 方式模仿它,您只需要在调用python whatever之前在 shell 会话中执行一次:

set PYTHONPATH=C:\Users\usr\PycharmProjects\project

pythonic 的方法是有一个setup.py文件来在系统中安装你的项目(检查python Minimal Structure ):

from setuptools import setup

setup(name='main_package',
      version='0.1',
      description='main package',
      license='MIT',
      packages=['main_package'],
      zip_safe=False)

然后按如下方式安装它:

  • python setup.py install进行全局安装

要么

  • python setup.py develop以可编辑模式进行本地安装

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM