我创建了一个projectname包,并使用PyCharm调试其中的代码。 我还使用venv为包设置Python环境。我遵循以下标准包结构。在
.
├── NAME
│ ├── __init__.py
│ ├── arith.py
│ └── arith.py
├── bin
│ └── app.py
├── build
│ ├── bdist.macosx-10.11-intel
│ └── lib
│ └── NAME
│ ├── __init__.py
│ └── arith.py
├── dist
│ └── projectname-0.1-py2.7.egg
├── docs
├── requirements.txt
├── setup.py
└── tests
├── __init__.py
└── arith_tests.py
然后,我把这个项目导入到PyCharm中。 在项目:sekelton,我将NAME/tests标记为源文件夹,并将build/dist标记为排除的文件夹。在
我还运行python setup.py install
来构建生成的egg文件并将其安装到venv的site包目录中。在
问题是安装在site包中的egg文件首先被调用,PYTHONPATH显示在import sys; print sys.path
:
这很烦人,因为我不能用PyCharm调试代码,当我修改代码时,我不得不再次运行python setup.py install
来更新egg文件。我可以通过从项目解释器设置中删除egg文件来避免这个问题,但是我认为更改顺序应该是更好的选择。在
如何更改PyCharm中PYTHONPATH的顺序,以便首先搜索本地源文件夹?在
当我试图从项目解释器设置中删除包时,PyCharm显示了一条错误消息,但这是误报,因为PyCharm成功地删除了egg文件,并更新了easy-安装.pth. 在
使用},并更新{}。我认为这是比
pip install -e NAME
,将使指向名称目录的{python setup.py
更好的方法,并且解决了PYTHONPATH问题。在用这种方法,卵就不在Python体内了。在
^{pr2}$更好的是,我们可以使用
pip uninstall projectname
删除包。在我从Installing Python packages from local file system folder with pip得到提示
相关问题 更多 >
编程相关推荐