我在windows 8上使用pycharm 4.0.4,我的项目结构如下:
my_django_project (pycharm content root)
-lib
-docs
-scripts (virtualenv)
-my_project (pycharm source root)
-tempaltes
-management
-models.py
-views.py
etc....
pycharm项目解释器:
2.7.2 virualenv at c:\path\to\my_django_project
我试图在www.example.com文件中的类中执行更改签名重构和方法models.py。
使用上面的项目解释器设置,重命名重构工作正常,但是,更改签名会导致Cannot perform Refactoring. Function is not under the source root"
如果我将pycharm项目解释器更改为:
2.7.2 virualenv at c:\Python27\python.exe
所有的重构都能工作,但是,这不是我的虚拟环境。我做错了什么?为了重构而必须切换出虚拟环境似乎是错误的。
任何想法欢迎,谢谢!
3条答案
按热度按时间hzbexzde1#
试试这个:
Settings -> Project Structure -> Add Content Root
,然后选择你想要使用的文件夹。这修复了我的问题。bkkx9g8r2#
你的项目根目录是否在解释器路径列表中(
Settings| Project Interpreter| Press Cogwheel| More| Show paths for the selected interpreter
)?如果是,则是以下已知问题https://youtrack.jetbrains.com/issue/PY-9285。
你可以按照它的更新,见howto:http://intellij-support.jetbrains.com/entries/23368682。
qyswt5oh3#
我在pycharm 2023.1(Build #PY-231.8109.197,构建于2023年3月29日)中使用的解决方案是将项目目录重命名为pyproject. toml中使用的包名称以外的名称。
例如,目录可以是'pj_package-name',而在pyproject.toml中我有
name = 'package-name'
谢谢PyTony给了我正确的提示。