首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >路径库路径解析包的已安装路径目录,而不是源代码目录。

路径库路径解析包的已安装路径目录,而不是源代码目录。
EN

Stack Overflow用户
提问于 2019-06-05 13:38:16
回答 1查看 631关注 0票数 1

我已经使用setup.py打包了我的项目,项目文件夹结构如下所示。

代码语言:javascript
复制
  api-automation
  api
    packagename
       __init__.py
       user.py
       payloads
         a.json
         b.json    
  tests
    conftest.py
  setup.cfg
  setup.py
  README.rst

我在下面的文件夹中创建了名为“/Users/basavarajlamani/Documents/environments/”的虚拟环境,我和我已经在这个虚拟环境中安装了上面的repo。

我尝试了大量的堆叠溢出和互联网,但没有找到答案。

user.py文件代码

代码语言:javascript
复制
from pathlib import Path

current_dir = str(Path(__file__).resolve().parent)

def func():
    print("current_dir", current_dir)

conftest.py码

代码语言:javascript
复制
from packagename.user import func

func()

如果我直接运行user.py文件(python3 user.py),我将得到正确的目录路径如下,

代码语言:javascript
复制
current_dir /Users/basavarajlamani/Documents/repos/api-automation/api/packagename

但是如果我运行conftest.py文件(python3 conftest.py),我得到的是我不想要的安装路径,我想获得目录路径,就像我直接运行user.py文件时一样,

代码语言:javascript
复制
current_dir
/Users/basavarajlamani/Documents/environments/myenv_1/lib/python3.7/site-packages/packagename

请帮帮忙,我怎么能解决这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-05 14:43:58

我怀疑您在引导开发环境时没有使用正确的选项。

尝试:

  • 清理您的开发虚拟化或删除它,并创建一个新的。
  • cd the/root/of/your/source/tree
  • pip install -e .

重要的一点是-e选项。阅读pip手册。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56461650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档