Eclipse中附加第三方python源码/工程到当前PythDev工程方法(基于Openstack)

本文详细介绍了如何将oslo.config模块导入到PythonDev工程glance-stable-icehouse中,通过调整PYTHONPATH路径,成功解决了from oslo.config import cfg报错的问题,使得模块能够正常导入和调用。

如下图:已有的PythonDev工程glance-stable-icehouse的utils.py文件中,from oslo.config import cfg显示错误符号 Unresolved from oslo.config import cfg:


说明该oslo.config相关的模块找不到,无法解析和处理,一般来讲是因为该模块为导入到当前工程。

   下面来看下导入该模块到当前工程的方法:

1、选择当前工程glance-stable-icehouse,右键-》properties;

2、选择PyDev-PYTNONPATH-》External Libraries-》Add source folder-》选择需要导入到当前工程的源文件夹oslo.config-》确定;


3、确认添加该oslo.config模块到当前工程;

(venv) root@admin123-NF5280M6:~# pip install git+https://opendev.org/openstack/kolla-ansible@stable/2025.1 Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Collecting git+https://opendev.org/openstack/kolla-ansible@stable/2025.1 Cloning https://opendev.org/openstack/kolla-ansible (to revision stable/2025.1) to /tmp/pip-req-build-vz_r3cz1 Running command git clone --filter=blob:none --quiet https://opendev.org/openstack/kolla-ansible /tmp/pip-req-build-vz_r3cz1 Running command git checkout -b stable/2025.1 --track origin/stable/2025.1 Switched to a new branch 'stable/2025.1' branch 'stable/2025.1' set up to track 'origin/stable/2025.1'. Resolved https://opendev.org/openstack/kolla-ansible to commit f74e0444a0bf341d76caeb798f2f463493e8cc16 Installing build dependencies ... done Getting requirements to build wheel ... done Installing backend dependencies ... done Preparing metadata (pyproject.toml) ... done Requirement already satisfied: bcrypt>=3.0.0 in /opt/openstack/venv/lib/python3.12/site-packages (from kolla-ansible==20.3.1.dev7) (5.0.0) Requirement already satisfied: cryptography>=2.1 in /opt/openstack/venv/lib/python3.12/site-packages (from kolla-ansible==20.3.1.dev7) (46.0.3) Requirement already satisfied: hvac>=0.10.1 in /opt/openstack/venv/lib/python3.12/site-packages (from kolla-ansible==20.3.1.dev7) (2.4.0) Requirement already satisfied: Jinja2>=3 in /opt/openstack/venv/lib/python3.12/site-packages (from kolla-ansible==20.3.1.dev7) (3.1.6) Requirement already satisfied: ansible-core<2.19,>=2.17 in /opt/openstack/venv/lib/python3.12/site-packages (from kolla-ansible==20.3.1.dev7) (2.18.12) Requirement already satisfied: jmespath>=0.9.3 in /opt/openstack/venv/lib/python3.12/site-packages (from kolla-ansible==20.3.1.dev7) (1.0.1) Requirement already satisfied: oslo.config>=5.2.0 in /opt/openstack/venv/lib/python3.12/site-packages (from kolla-ansible==20.3.1.dev7) (10.1.0) Requirement already satisfied: oslo.utils>=3.33.0 in /opt/openstack/venv/lib/python3.12/site-packages (from kolla-ansible==20.3.1.dev7) (9.2.0) Requirement already satisfied: passlib>=1.0.0 in /opt/openstack/venv/lib/python3.12/site-packages (from passlib[bcrypt]>=1.0.0->kolla-ansible==20.3.1.dev7) (1.7.4) Requirement already satisfied: cliff>=4.7.0 in /opt/openstack/venv/lib/python3.12/site-packages (from kolla-ansible==20.3.1.dev7) (4.13.1) Requirement already satisfied: PyYAML>=5.1 in /opt/openstack/venv/lib/python3.12/site-packages (from ansible-core<2.19,>=2.17->kolla-ansible==20.3.1.dev7) (6.0.3) Requirement already satisfied: packaging in /opt/openstack/venv/lib/python3.12/site-packages (from ansible-core<2.19,>=2.17->kolla-ansible==20.3.1.dev7) (25.0) Requirement already satisfied: resolvelib<1.1.0,>=0.5.3 in /opt/openstack/venv/lib/python3.12/site-packages (from ansible-core<2.19,>=2.17->kolla-ansible==20.3.1.dev7) (0.5.4) Requirement already satisfied: autopage>=0.4.0 in /opt/openstack/venv/lib/python3.12/site-packages (from cliff>=4.7.0->kolla-ansible==20.3.1.dev7) (0.5.2) Requirement already satisfied: cmd2>=1.0.0 in /opt/openstack/venv/lib/python3.12/site-packages (from cliff>=4.7.0->kolla-ansible==20.3.1.dev7) (3.0.0) Requirement already satisfied: PrettyTable>=0.7.2 in /opt/openstack/venv/lib/python3.12/site-packages (from cliff>=4.7.0->kolla-ansible==20.3.1.dev7) (3.17.0) Requirement already satisfied: stevedore>=5.6.0 in /opt/openstack/venv/lib/python3.12/site-packages (from cliff>=4.7.0->kolla-ansible==20.3.1.dev7) (5.6.0) Requirement already satisfied: pyperclip>=1.8.2 in /opt/openstack/venv/lib/python3.12/site-packages (from cmd2>=1.0.0->cliff>=4.7.0->kolla-ansible==20.3.1.dev7) (1.11.0) Requirement already satisfied: rich>=14.1.0 in /opt/openstack/venv/lib/python3.12/site-packages (from cmd2>=1.0.0->cliff>=4.7.0->kolla-ansible==20.3.1.dev7) (14.2.0) Requirement already satisfied: rich-argparse>=1.7.1 in /opt/openstack/venv/lib/python3.12/site-packages (from cmd2>=1.0.0->cliff>=4.7.0->kolla-ansible==20.3.1.dev7) (1.7.2) Requirement already satisfied: cffi>=2.0.0 in /opt/openstack/venv/lib/python3.12/site-packages (from cryptography>=2.1->kolla-ansible==20.3.1.dev7) (2.0.0) Requirement already satisfied: pycparser in /opt/openstack/venv/lib/python3.12/site-packages (from cffi>=2.0.0->cryptography>=2.1->kolla-ansible==20.3.1.dev7) (2.23) Requirement already satisfied: requests<3.0.0,>=2.27.1 in /opt/openstack/venv/lib/python3.12/site-packages (from hvac>=0.10.1->kolla-ansible==20.3.1.dev7) (2.32.5) Requirement already satisfied: charset_normalizer<4,>=2 in /opt/openstack/venv/lib/python3.12/site-packages (from requests<3.0.0,>=2.27.1->hvac>=0.10.1->kolla-ansible==20.3.1.dev7) (3.4.4) Requirement already satisfied: idna<4,>=2.5 in /opt/openstack/venv/lib/python3.12/site-packages (from requests<3.0.0,>=2.27.1->hvac>=0.10.1->kolla-ansible==20.3.1.dev7) (3.11) Requirement already satisfied: urllib3<3,>=1.21.1 in /opt/openstack/venv/lib/python3.12/site-packages (from requests<3.0.0,>=2.27.1->hvac>=0.10.1->kolla-ansible==20.3.1.dev7) (2.6.2) Requirement already satisfied: certifi>=2017.4.17 in /opt/openstack/venv/lib/python3.12/site-packages (from requests<3.0.0,>=2.27.1->hvac>=0.10.1->kolla-ansible==20.3.1.dev7) (2025.11.12) Requirement already satisfied: MarkupSafe>=2.0 in /opt/openstack/venv/lib/python3.12/site-packages (from Jinja2>=3->kolla-ansible==20.3.1.dev7) (3.0.3) Requirement already satisfied: netaddr>=0.7.18 in /opt/openstack/venv/lib/python3.12/site-packages (from oslo.config>=5.2.0->kolla-ansible==20.3.1.dev7) (1.3.0) Requirement already satisfied: oslo.i18n>=3.15.3 in /opt/openstack/venv/lib/python3.12/site-packages (from oslo.config>=5.2.0->kolla-ansible==20.3.1.dev7) (6.7.1) Requirement already satisfied: rfc3986>=1.2.0 in /opt/openstack/venv/lib/python3.12/site-packages (from oslo.config>=5.2.0->kolla-ansible==20.3.1.dev7) (2.0.0) Requirement already satisfied: pbr>=2.0.0 in /opt/openstack/venv/lib/python3.12/site-packages (from oslo.i18n>=3.15.3->oslo.config>=5.2.0->kolla-ansible==20.3.1.dev7) (7.0.3) Requirement already satisfied: iso8601>=0.1.11 in /opt/openstack/venv/lib/python3.12/site-packages (from oslo.utils>=3.33.0->kolla-ansible==20.3.1.dev7) (2.1.0) Requirement already satisfied: debtcollector>=1.2.0 in /opt/openstack/venv/lib/python3.12/site-packages (from oslo.utils>=3.33.0->kolla-ansible==20.3.1.dev7) (3.0.0) Requirement already satisfied: pyparsing>=2.1.0 in /opt/openstack/venv/lib/python3.12/site-packages (from oslo.utils>=3.33.0->kolla-ansible==20.3.1.dev7) (3.3.1) Requirement already satisfied: tzdata>=2022.4 in /opt/openstack/venv/lib/python3.12/site-packages (from oslo.utils>=3.33.0->kolla-ansible==20.3.1.dev7) (2025.3) Requirement already satisfied: psutil>=3.2.2 in /opt/openstack/venv/lib/python3.12/site-packages (from oslo.utils>=3.33.0->kolla-ansible==20.3.1.dev7) (7.1.3) Requirement already satisfied: wrapt>=1.7.0 in /opt/openstack/venv/lib/python3.12/site-packages (from debtcollector>=1.2.0->oslo.utils>=3.33.0->kolla-ansible==20.3.1.dev7) (2.0.1) Requirement already satisfied: setuptools in /opt/openstack/venv/lib/python3.12/site-packages (from pbr>=2.0.0->oslo.i18n>=3.15.3->oslo.config>=5.2.0->kolla-ansible==20.3.1.dev7) (80.9.0) Requirement already satisfied: wcwidth in /opt/openstack/venv/lib/python3.12/site-packages (from PrettyTable>=0.7.2->cliff>=4.7.0->kolla-ansible==20.3.1.dev7) (0.2.14) Requirement already satisfied: markdown-it-py>=2.2.0 in /opt/openstack/venv/lib/python3.12/site-packages (from rich>=14.1.0->cmd2>=1.0.0->cliff>=4.7.0->kolla-ansible==20.3.1.dev7) (4.0.0) Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /opt/openstack/venv/lib/python3.12/site-packages (from rich>=14.1.0->cmd2>=1.0.0->cliff>=4.7.0->kolla-ansible==20.3.1.dev7) (2.19.2) Requirement already satisfied: mdurl~=0.1 in /opt/openstack/venv/lib/python3.12/site-packages (from markdown-it-py>=2.2.0->rich>=14.1.0->cmd2>=1.0.0->cliff>=4.7.0->kolla-ansible==20.3.1.dev7) (0.1.2)
最新发布
12-24
### 解决ansible 5.10.0与ansible-core 2.18.12版本不兼容问题 - **升级pip**:旧版本的pip可能存在依赖解析问题,将pip升级到最新版本或许能解决该冲突。使用以下命令升级pip: ```bash python -m pip install --upgrade pip ``` - **手动指定版本安装**:手动指定ansible和ansible-core的兼容版本进行安装,根据ansible 5.10.0要求ansible-core~=2.12.7,执行以下命令: ```bash pip install ansible==5.10.0 ansible-core==2.12.7 ``` - **使用虚拟环境**:创建一个新的虚拟环境,在该环境中重新安装ansible和ansible-core,避免受到其他已安装包的影响。以venv为例,创建并激活虚拟环境后安装所需包: ```bash # 创建虚拟环境 python -m venv myenv # 激活虚拟环境 source myenv/bin/activate # 安装指定版本的ansible和ansible-core pip install ansible==5.10.0 ansible-core==2.12.7 ``` - **使用约束文件**:可以创建一个约束文件,明确指定各个包的版本,然后使用`--constraint`参数来安装包。创建一个名为`constraints.txt`的文件,内容如下: ```plaintext ansible==5.10.0 ansible-core==2.12.7 ``` 然后使用以下命令安装: ```bash pip install -r constraints.txt ``` ### 解决pip安装git+https://opendev.org/openstack/kolla - ansible@stable/2025.1时的依赖冲突 - **查看依赖信息**:在安装前,可以使用`pip show`命令查看相关包的依赖信息,提前了解潜在的冲突。例如查看`kolla-ansible`依赖: ```bash pip install --dry-run git+https://opendev.org/openstack/kolla-ansible@stable/2025.1 ``` 该命令会模拟安装过程,显示出需要安装的包及其依赖信息。 - **使用虚拟环境**:如同解决ansible版本不兼容问题一样,创建新的虚拟环境来安装`kolla-ansible`,避免全局环境中已有包的干扰: ```bash python -m venv kolla_env source kolla_env/bin/activate pip install git+https://opendev.org/openstack/kolla-ansible@stable/2025.1 ``` - **手动调整依赖版本**:根据`pip show`或模拟安装显示的依赖信息,手动指定依赖包的版本进行安装。例如,如果显示某个依赖包版本与`kolla-ansible`不兼容,可以指定兼容的版本安装: ```bash pip install package_name==compatible_version pip install git+https://opendev.org/openstack/kolla-ansible@stable/2025.1 ``` - **使用约束文件**:创建约束文件,列出所有需要的包及其版本,然后使用该约束文件进行安装: ```plaintext # constraints.txt package1==version1 package2==version2 git+https://opendev.org/openstack/kolla-ansible@stable/2025.1 ``` ```bash pip install -r constraints.txt ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值